aboutsummaryrefslogtreecommitdiff
path: root/net/bluetooth
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2014-09-09 16:21:46 -0700
committerMarcel Holtmann <marcel@holtmann.org>2014-09-10 01:45:01 +0200
commit196332f5a1e5c3ec7171742fce83d03795abf120 (patch)
tree7ec033ad5384eaf4ff785a1ada36d9b957d849c5 /net/bluetooth
parent39e90c77637b3892a39f2908aea57539e961c50e (diff)
Bluetooth: Fix allowing SMP Signing info PDU
If the remote side is not distributing its IRK but is distributing the CSRK the next PDU after master identification is the Signing Information. This patch fixes a missing SMP_ALLOW_CMD() for this in the smp_cmd_master_ident() function. 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.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c
index 25c9040e0b12..dc575aba2e65 100644
--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -1324,6 +1324,8 @@ static int smp_cmd_master_ident(struct l2cap_conn *conn, struct sk_buff *skb)
SMP_DISALLOW_CMD(smp, SMP_CMD_MASTER_IDENT);
if (smp->remote_key_dist & SMP_DIST_ID_KEY)
SMP_ALLOW_CMD(smp, SMP_CMD_IDENT_INFO);
+ else if (smp->remote_key_dist & SMP_DIST_SIGN)
+ SMP_ALLOW_CMD(smp, SMP_CMD_SIGN_INFO);
skb_pull(skb, sizeof(*rp));