diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2011-11-10 15:54:37 +0200 |
---|---|---|
committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-11-10 17:54:06 -0200 |
commit | c3f06755ca4279597cd58befd6c076ae2e3db480 (patch) | |
tree | ebfa3028bfeba47eb81840dd40d861b2bbbaaab4 /net/bluetooth/mgmt.c | |
parent | 48264f06943e2db2c971b752949606f070d9d292 (diff) | |
download | op-kernel-dev-c3f06755ca4279597cd58befd6c076ae2e3db480.zip op-kernel-dev-c3f06755ca4279597cd58befd6c076ae2e3db480.tar.gz |
Bluetooth: Fix deadlock with mgmt_pair_device
The hci_conn callbacks are called with the hci_dev lock already held so
no locking should be attempted in them.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/mgmt.c')
-rw-r--r-- | net/bluetooth/mgmt.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index d23a803..c3d7852 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c @@ -1331,19 +1331,14 @@ static void pairing_complete(struct pending_cmd *cmd, u8 status) static void pairing_complete_cb(struct hci_conn *conn, u8 status) { struct pending_cmd *cmd; - struct hci_dev *hdev = conn->hdev; BT_DBG("status %u", status); - hci_dev_lock_bh(hdev); - cmd = find_pairing(conn); if (!cmd) BT_DBG("Unable to find a pending command"); else pairing_complete(cmd, status); - - hci_dev_unlock_bh(hdev); } static int pair_device(struct sock *sk, u16 index, unsigned char *data, u16 len) |