aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorTodd Poynor <toddpoynor@google.com>2012-04-30 15:36:56 -0700
committerTodd Poynor <toddpoynor@google.com>2012-04-30 15:36:56 -0700
commit5c15664a86e18352ccdc2f501907725caa9ab73d (patch)
treef8289ea774881961a44d904a3f41f4c17b8facf3 /net/bluetooth
parent80b8354d535d2e8d6ced0b0e129257dba1fb2130 (diff)
parentf1c84a5cb52ee2915457b481c756fcc1dfe6a471 (diff)
downloadkernel_samsung_aries-5c15664a86e18352ccdc2f501907725caa9ab73d.zip
kernel_samsung_aries-5c15664a86e18352ccdc2f501907725caa9ab73d.tar.gz
kernel_samsung_aries-5c15664a86e18352ccdc2f501907725caa9ab73d.tar.bz2
Merge commit 'v3.0.30' into android-3.0
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/hci_core.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 3b39198..f38e633 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -510,6 +510,11 @@ int hci_dev_open(__u16 dev)
hci_req_lock(hdev);
+ if (test_bit(HCI_UNREGISTER, &hdev->flags)) {
+ ret = -ENODEV;
+ goto done;
+ }
+
if (hdev->rfkill && rfkill_blocked(hdev->rfkill)) {
ret = -ERFKILL;
goto done;
@@ -1563,6 +1568,8 @@ int hci_unregister_dev(struct hci_dev *hdev)
BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus);
+ set_bit(HCI_UNREGISTER, &hdev->flags);
+
write_lock_bh(&hci_dev_list_lock);
list_del(&hdev->list);
write_unlock_bh(&hci_dev_list_lock);