Message ID | 20210301200605.106607-1-abhishekpandit@chromium.org |
---|---|
Headers | show |
Series | Bluetooth: Suspend improvements | expand |
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 <apusaka@chromium.org> > --- > 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) >> 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 >> 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) >> 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