diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-09-05 15:19:49 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-09-08 13:07:55 -0400 |
commit | 84bc0db53b3a425fb992d5fed25b575e4434167a (patch) | |
tree | 14d8fcaad50a3e793a394a0587eacbbd3a97c6e1 /net/bluetooth | |
parent | 1b0921d6be7860271ccf6027891b8215fc28cde5 (diff) |
Bluetooth: Don't take any action in smp_resume_cb if not encrypted
When smp_resume_cb is called if we're not encrypted (i.e. the callback
wasn't called because the connection became encrypted) we shouldn't take
any action at all. This patch moves also the security_timer cancellation
behind this condition.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/smp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c index b8ecc7bd3e3b..9accb4739488 100644 --- a/net/bluetooth/smp.c +++ b/net/bluetooth/smp.c | |||
@@ -1533,10 +1533,12 @@ static void smp_resume_cb(struct l2cap_chan *chan) | |||
1533 | if (!smp) | 1533 | if (!smp) |
1534 | return; | 1534 | return; |
1535 | 1535 | ||
1536 | if (!test_bit(HCI_CONN_ENCRYPT, &hcon->flags)) | ||
1537 | return; | ||
1538 | |||
1536 | cancel_delayed_work(&smp->security_timer); | 1539 | cancel_delayed_work(&smp->security_timer); |
1537 | 1540 | ||
1538 | if (test_bit(HCI_CONN_ENCRYPT, &hcon->flags)) | 1541 | queue_work(hdev->workqueue, &smp->distribute_work); |
1539 | queue_work(hdev->workqueue, &smp->distribute_work); | ||
1540 | } | 1542 | } |
1541 | 1543 | ||
1542 | static void smp_ready_cb(struct l2cap_chan *chan) | 1544 | static void smp_ready_cb(struct l2cap_chan *chan) |