summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/l2cap_core.c
diff options
context:
space:
mode:
authorVinicius Costa Gomes2011-09-05 19:31:31 +0200
committerGustavo F. Padovan2011-09-21 17:58:12 +0200
commit8aab47574a7f5b46a4cdbc6fd820ab34e6c5dbf9 (patch)
tree69f31fec9ff2266d848f5e1f974928a65030c4e4 /net/bluetooth/l2cap_core.c
parentBluetooth: Move SMP fields to a separate structure (diff)
downloadkernel-qcow2-linux-8aab47574a7f5b46a4cdbc6fd820ab34e6c5dbf9.tar.gz
kernel-qcow2-linux-8aab47574a7f5b46a4cdbc6fd820ab34e6c5dbf9.tar.xz
kernel-qcow2-linux-8aab47574a7f5b46a4cdbc6fd820ab34e6c5dbf9.zip
Bluetooth: Move SMP crypto functions to a workqueue
The function crypto_blkcipher_setkey() called by smp_e() can sleep, so all the crypto work has to be moved to hci_dev workqueue. Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Diffstat (limited to 'net/bluetooth/l2cap_core.c')
-rw-r--r--net/bluetooth/l2cap_core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index e699837c3b8c..4bfb7d22d171 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -991,7 +991,7 @@ static void l2cap_conn_del(struct hci_conn *hcon, int err)
if (test_and_clear_bit(HCI_CONN_LE_SMP_PEND, &hcon->pend)) {
del_timer(&conn->security_timer);
- hci_conn_put(hcon);
+ smp_chan_destroy(conn);
}
hcon->l2cap_data = NULL;