diff options
| author | Todd Poynor <toddpoynor@google.com> | 2012-04-30 15:36:56 -0700 |
|---|---|---|
| committer | Todd Poynor <toddpoynor@google.com> | 2012-04-30 15:36:56 -0700 |
| commit | 5c15664a86e18352ccdc2f501907725caa9ab73d (patch) | |
| tree | f8289ea774881961a44d904a3f41f4c17b8facf3 /net/bluetooth | |
| parent | 80b8354d535d2e8d6ced0b0e129257dba1fb2130 (diff) | |
| parent | f1c84a5cb52ee2915457b481c756fcc1dfe6a471 (diff) | |
| download | kernel_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.c | 7 |
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); |
