Thread (5 messages) flat view 5 messages, 2 authors, 2021-03-02

Re: [PATCH 1/2] Bluetooth: Notify suspend on le conn failed

From: Marcel Holtmann <marcel@holtmann.org>
Date: 2021-03-02 16:39:20
Also in: linux-bluetooth, lkml

Hi Abhishek,
When suspending, Bluetooth disconnects all connected peers devices. If
an LE connection is started but isn't completed, we will see an LE
Create Connection Cancel instead of an HCI disconnect. This just adds
a check to see if an LE cancel was the last disconnected device and wake
the suspend thread when that is the case.

Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Reviewed-by: Archie Pusaka <redacted>
---
Here is an HCI trace when the issue occurred.

< HCI Command: LE Create Connection (0x08|0x000d) plen 25                                           #187777 [hci0] 2021-02-03 21:42:35.130208
       Scan interval: 60.000 msec (0x0060)
       Scan window: 60.000 msec (0x0060)
       Filter policy: White list is not used (0x00)
       Peer address type: Random (0x01)
       Peer address: D9:DC:6B:61:EB:3A (Static)
       Own address type: Public (0x00)
       Min connection interval: 15.00 msec (0x000c)
       Max connection interval: 30.00 msec (0x0018)
       Connection latency: 20 (0x0014)
       Supervision timeout: 3000 msec (0x012c)
       Min connection length: 0.000 msec (0x0000)
       Max connection length: 0.000 msec (0x0000)
quoted
HCI Event: Command Status (0x0f) plen 4                                                           #187778 [hci0] 2021-02-03 21:42:35.131184
     LE Create Connection (0x08|0x000d) ncmd 1
       Status: Success (0x00)
< HCI Command: LE Create Connection Cancel (0x08|0x000e) plen 0                                     #187805 [hci0] 2021-02-03 21:42:37.183336
quoted
HCI Event: Command Complete (0x0e) plen 4                                                         #187806 [hci0] 2021-02-03 21:42:37.192394
     LE Create Connection Cancel (0x08|0x000e) ncmd 1
       Status: Success (0x00)
quoted
HCI Event: LE Meta Event (0x3e) plen 19                                                           #187807 [hci0] 2021-02-03 21:42:37.193400
     LE Connection Complete (0x01)
       Status: Unknown Connection Identifier (0x02)
       Handle: 0
       Role: Master (0x00)
       Peer address type: Random (0x01)
       Peer address: D9:DC:6B:61:EB:3A (Static)
       Connection interval: 0.00 msec (0x0000)
       Connection latency: 0 (0x0000)
       Supervision timeout: 0 msec (0x0000)
       Master clock accuracy: 0x00
... <skip a few unrelated events>
@ MGMT Event: Controller Suspended (0x002d) plen 1                                                 {0x0002} [hci0] 2021-02-03 21:42:39.178780
       Suspend state: Controller running (failed to suspend) (0)
@ MGMT Event: Controller Suspended (0x002d) plen 1                                                 {0x0001} [hci0] 2021-02-03 21:42:39.178780
       Suspend state: Controller running (failed to suspend) (0)
... <actual suspended time>
< HCI Command: Set Event Filter (0x03|0x0005) plen 1                                                #187808 [hci0] 2021-02-04 09:23:07.313591
       Type: Clear All Filters (0x00)

net/bluetooth/hci_conn.c | 10 ++++++++++
1 file changed, 10 insertions(+)
patch has been applied to bluetooth-next tree.

Regards

Marcel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help