Bluetooth: Better locking when tearing down an HCI connection.
Restarting Riva will abruptly disconnect the hci device, which can tear down the hci_conn struct on one processor while RFCOMM code is running on another. This would keep l2cap_chan_del from being executed while RFCOMM is in the middle of using a socket. CRs-fixed: 351273 Change-Id: I37c82cac022a1d1c0fd60791f7c15b56e2415850 Signed-off-by: Ankit Verma <ankitv@codeaurora.org>
This commit is contained in:
committed by
Stephen Boyd
parent
3cce2ec821
commit
f93cc070f2
@@ -1563,7 +1563,7 @@ int hci_unregister_dev(struct hci_dev *hdev)
|
||||
list_del(&hdev->list);
|
||||
write_unlock_bh(&hci_dev_list_lock);
|
||||
|
||||
hci_dev_do_close(hdev, 0);
|
||||
hci_dev_do_close(hdev, hdev->bus == HCI_SMD);
|
||||
|
||||
for (i = 0; i < NUM_REASSEMBLY; i++)
|
||||
kfree_skb(hdev->reassembly[i]);
|
||||
|
||||
Reference in New Issue
Block a user