1. 19 3月, 2022 1 次提交
  2. 06 1月, 2022 1 次提交
  3. 23 12月, 2021 1 次提交
  4. 08 12月, 2021 10 次提交
  5. 26 11月, 2021 2 次提交
  6. 16 11月, 2021 1 次提交
    • A
      Bluetooth: Ignore HCI_ERROR_CANCELLED_BY_HOST on adv set terminated event · 0f281a5e
      Archie Pusaka 提交于
      This event is received when the controller stops advertising,
      specifically for these three reasons:
      (a) Connection is successfully created (success).
      (b) Timeout is reached (error).
      (c) Number of advertising events is reached (error).
      (*) This event is NOT generated when the host stops the advertisement.
      Refer to the BT spec ver 5.3 vol 4 part E sec 7.7.65.18. Note that the
      section was revised from BT spec ver 5.0 vol 2 part E sec 7.7.65.18
      which was ambiguous about (*).
      
      Some chips (e.g. RTL8822CE) send this event when the host stops the
      advertisement with status = HCI_ERROR_CANCELLED_BY_HOST (due to (*)
      above). This is treated as an error and the advertisement will be
      removed and userspace will be informed via MGMT event.
      
      On suspend, we are supposed to temporarily disable advertisements,
      and continue advertising on resume. However, due to the behavior
      above, the advertisements are removed instead.
      
      This patch returns early if HCI_ERROR_CANCELLED_BY_HOST is received.
      
      Btmon snippet of the unexpected behavior:
      @ MGMT Command: Remove Advertising (0x003f) plen 1
              Instance: 1
      < HCI Command: LE Set Extended Advertising Enable (0x08|0x0039) plen 6
              Extended advertising: Disabled (0x00)
              Number of sets: 1 (0x01)
              Entry 0
                Handle: 0x01
                Duration: 0 ms (0x00)
                Max ext adv events: 0
      > HCI Event: LE Meta Event (0x3e) plen 6
            LE Advertising Set Terminated (0x12)
              Status: Operation Cancelled by Host (0x44)
              Handle: 1
              Connection handle: 0
              Number of completed extended advertising events: 5
      > HCI Event: Command Complete (0x0e) plen 4
            LE Set Extended Advertising Enable (0x08|0x0039) ncmd 2
              Status: Success (0x00)
      Signed-off-by: NArchie Pusaka <apusaka@chromium.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      0f281a5e
  7. 08 9月, 2021 5 次提交
  8. 30 8月, 2021 1 次提交
  9. 26 6月, 2021 6 次提交
  10. 04 3月, 2021 1 次提交
  11. 29 1月, 2021 1 次提交
    • H
      Bluetooth: Add new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk · 219991e6
      Hans de Goede 提交于
      Some devices, e.g. the RTL8723BS bluetooth part, some USB attached devices,
      completely drop from the bus on a system-suspend. These devices will
      have their driver unbound and rebound on resume (when the dropping of
      the bus gets detected) and will show up as a new HCI after resume.
      
      These devices do not benefit from the suspend / resume handling work done
      by the hci_suspend_notifier. At best this unnecessarily adds some time to
      the suspend/resume time. But this may also actually cause problems, if the
      code doing the driver unbinding runs after the pm-notifier then the
      hci_suspend_notifier code will try to talk to a device which is now in
      an uninitialized state.
      
      This commit adds a new HCI_QUIRK_NO_SUSPEND_NOTIFIER quirk which allows
      drivers to opt-out of the hci_suspend_notifier when they know beforehand
      that their device will be fully re-initialized / reprobed on resume.
      Signed-off-by: NHans de Goede <hdegoede@redhat.com>
      Reviewed-by: NAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      219991e6
  12. 07 12月, 2020 1 次提交
  13. 30 7月, 2020 3 次提交
  14. 28 7月, 2020 1 次提交
  15. 22 6月, 2020 1 次提交
  16. 11 5月, 2020 1 次提交
  17. 28 4月, 2020 1 次提交
    • A
      Bluetooth: Adding driver and quirk defs for multi-role LE · 22091585
      Alain Michaud 提交于
      This change adds the relevant driver and quirk to allow drivers to
      report the le_states as being trustworthy.
      
      This has historically been disabled as controllers did not reliably
      support this. In particular, this will be used to relax this condition
      for controllers that have been well tested and reliable.
      
      	/* Most controller will fail if we try to create new connections
      	 * while we have an existing one in slave role.
      	 */
      	if (hdev->conn_hash.le_num_slave > 0)
      		return NULL;
      Signed-off-by: NAlain Michaud <alainm@chromium.org>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      22091585
  18. 15 4月, 2020 2 次提交