Skip to content

Commit 857eb0f

Browse files
committed
Bluetooth: hci_conn: Fix connection cleanup with BIG with 2 or more BIS
This fixes bis_cleanup not considering connections in BT_OPEN state before attempting to remove the BIG causing the following error: btproxy[20110]: < HCI Command: LE Terminate Broadcast Isochronous Group (0x08|0x006a) plen 2 BIG Handle: 0x01 Reason: Connection Terminated By Local Host (0x16) > HCI Event: Command Status (0x0f) plen 4 LE Terminate Broadcast Isochronous Group (0x08|0x006a) ncmd 1 Status: Unknown Advertising Identifier (0x42) Fixes: fa224d0 ("Bluetooth: ISO: Reassociate a socket with an active BIS") Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
1 parent b489556 commit 857eb0f

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

net/bluetooth/hci_conn.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -843,6 +843,13 @@ static void bis_cleanup(struct hci_conn *conn)
843843
if (bis)
844844
return;
845845

846+
bis = hci_conn_hash_lookup_big_state(hdev,
847+
conn->iso_qos.bcast.big,
848+
BT_OPEN,
849+
HCI_ROLE_MASTER);
850+
if (bis)
851+
return;
852+
846853
hci_le_terminate_big(hdev, conn);
847854
} else {
848855
hci_le_big_terminate(hdev, conn->iso_qos.bcast.big,

0 commit comments

Comments
 (0)