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.131184LE 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.183336quoted
HCI Event: Command Complete (0x0e) plen 4 #187806 [hci0] 2021-02-03 21:42:37.192394LE 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.193400LE 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