summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorLoic Poulain <loic.poulain@intel.com>2015-05-21 16:46:41 +0200
committerMarcel Holtmann <marcel@holtmann.org>2015-06-06 20:49:04 +0200
commit9380f9eacfbbee701daa416edd6625efcd3e29e1 (patch)
tree515dd51fa977289b372207dc25c090ea932cc699 /net/bluetooth
parent951b6a0717db97ce420547222647bcc40bf1eacd (diff)
downloadop-kernel-dev-9380f9eacfbbee701daa416edd6625efcd3e29e1.zip
op-kernel-dev-9380f9eacfbbee701daa416edd6625efcd3e29e1.tar.gz
Bluetooth: Reorder HCI user channel socket release
The hci close method needs to know if we are in user channel context. Only add the index to mgmt once close is performed. Signed-off-by: Loic Poulain <loic.poulain@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/hci_sock.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index 5b14dca..9467545 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -503,9 +503,9 @@ static int hci_sock_release(struct socket *sock)
if (hdev) {
if (hci_pi(sk)->channel == HCI_CHANNEL_USER) {
- mgmt_index_added(hdev);
- hci_dev_clear_flag(hdev, HCI_USER_CHANNEL);
hci_dev_close(hdev->id);
+ hci_dev_clear_flag(hdev, HCI_USER_CHANNEL);
+ mgmt_index_added(hdev);
}
atomic_dec(&hdev->promisc);
OpenPOWER on IntegriCloud