summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Bertholon <guillaume.bertholon@ens.fr>2022-02-01 15:24:50 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-02-03 09:27:53 +0100
commitbfd9dcb36526a86a3b00c3e0d72dcb306de970b2 (patch)
tree97cf69f95744e752cba06c86073cac9e36fecbeb
parent07cf4e8ddac7203a9c8dfcf7cf978a9d95ce1112 (diff)
downloadlinux-stable-bfd9dcb36526a86a3b00c3e0d72dcb306de970b2.tar.gz
linux-stable-bfd9dcb36526a86a3b00c3e0d72dcb306de970b2.tar.bz2
linux-stable-bfd9dcb36526a86a3b00c3e0d72dcb306de970b2.zip
Bluetooth: MGMT: Fix misplaced BT_HS check
The upstream commit b560a208cda0 ("Bluetooth: MGMT: Fix not checking if BT_HS is enabled") inserted a new check in the `set_hs` function. However, its backported version in stable (commit 5abe9f99f512 ("Bluetooth: MGMT: Fix not checking if BT_HS is enabled")), added the check in `set_link_security` instead. This patch restores the intent of the upstream commit by moving back the BT_HS check to `set_hs`. Fixes: 5abe9f99f512 ("Bluetooth: MGMT: Fix not checking if BT_HS is enabled") Signed-off-by: Guillaume Bertholon <guillaume.bertholon@ens.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/bluetooth/mgmt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 4a95c89d8506..621329cb668a 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -2285,10 +2285,6 @@ static int set_link_security(struct sock *sk, struct hci_dev *hdev, void *data,
BT_DBG("request for %s", hdev->name);
- if (!IS_ENABLED(CONFIG_BT_HS))
- return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS,
- MGMT_STATUS_NOT_SUPPORTED);
-
status = mgmt_bredr_support(hdev);
if (status)
return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_LINK_SECURITY,
@@ -2438,6 +2434,10 @@ static int set_hs(struct sock *sk, struct hci_dev *hdev, void *data, u16 len)
BT_DBG("request for %s", hdev->name);
+ if (!IS_ENABLED(CONFIG_BT_HS))
+ return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS,
+ MGMT_STATUS_NOT_SUPPORTED);
+
status = mgmt_bredr_support(hdev);
if (status)
return mgmt_cmd_status(sk, hdev->id, MGMT_OP_SET_HS, status);