aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth/smp.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2015-01-14 15:43:10 -0800
committerJohan Hedberg <johan.hedberg@intel.com>2015-01-15 12:54:30 +0200
commit7e7ec44564cacd4a19cca9523a7be1916b108aa6 (patch)
treef0b6a85a66529f03395cb855f9cb5fe276d9047e /net/bluetooth/smp.c
parentBluetooth: Fix LE SMP channel source address and source address type (diff)
downloadlinux-dev-7e7ec44564cacd4a19cca9523a7be1916b108aa6.tar.xz
linux-dev-7e7ec44564cacd4a19cca9523a7be1916b108aa6.zip
Bluetooth: Don't register any SMP channel if LE is not supported
When LE features are not supported, then do not bother registering any kind of SMP channel. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth/smp.c')
-rw-r--r--net/bluetooth/smp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c
index 3e4de935f667..08a9314f3ca7 100644
--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -3066,6 +3066,12 @@ int smp_register(struct hci_dev *hdev)
BT_DBG("%s", hdev->name);
+ /* If the controller does not support Low Energy operation, then
+ * there is also no need to register any SMP channel.
+ */
+ if (!lmp_le_capable(hdev))
+ return 0;
+
chan = smp_add_cid(hdev, L2CAP_CID_SMP);
if (IS_ERR(chan))
return PTR_ERR(chan);