Bluetooth: Ignore SMP data on non-LE links
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 16 Oct 2013 08:37:01 +0000 (11:37 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 16 Oct 2013 08:41:13 +0000 (01:41 -0700)
The SMP CID is only defined for LE transports. Instead of returning an
error from smp_sig_channel() in this case (which would cause a
disconnection) just return 0 to ignore the data, which is consistent
with the behavior for other unknown CIDs.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/smp.c

index 463e50c..fc200e0 100644 (file)
@@ -856,7 +856,7 @@ int smp_sig_channel(struct l2cap_conn *conn, struct sk_buff *skb)
 
        if (hcon->type != LE_LINK) {
                kfree_skb(skb);
-               return -ENOTSUPP;
+               return 0;
        }
 
        if (skb->len < 1) {