diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2015-01-28 17:56:00 (GMT) |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-01-28 20:26:22 (GMT) |
commit | 592002863a03bd172a19d04854c5ed415693911f (patch) | |
tree | 76b146cc0b32d923fe15296532a6f6410f04f9a9 /net/bluetooth | |
parent | 838f66e3ab5fcaa05fbf33acf189541078352685 (diff) | |
download | linux-592002863a03bd172a19d04854c5ed415693911f.tar.xz |
Bluetooth: Fix check for SSP when enabling SC
There's a check in set_secure_conn() that's supposed to ensure that SSP
is enabled before we try to request the controller to enable SC (since
SSP is a pre-requisite for it). However, this check only makes sense for
controllers actually supporting BR/EDR SC. If we have a 4.0 controller
we're only interested in the LE part of SC and should therefore not be
requiring SSP to be enabled. This patch adds an additional condition to
check for lmp_sc_capable(hdev) before requiring SSP to be enabled.
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/mgmt.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index 8417ab3..78939e0 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c @@ -4818,6 +4818,7 @@ static int set_secure_conn(struct sock *sk, struct hci_dev *hdev, MGMT_STATUS_NOT_SUPPORTED); if (test_bit(HCI_BREDR_ENABLED, &hdev->dev_flags) && + lmp_sc_capable(hdev) && !test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) return cmd_status(sk, hdev->id, MGMT_OP_SET_SECURE_CONN, MGMT_STATUS_REJECTED); |