]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: MGMT: Fix not checking if BT_HS is enabled
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 6 Aug 2020 18:17:14 +0000 (11:17 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Oct 2020 09:03:30 +0000 (11:03 +0200)
commit b560a208cda0297fef6ff85bbfd58a8f0a52a543 upstream.

This checks if BT_HS is enabled relecting it on MGMT_SETTING_HS instead
of always reporting it as supported.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/bluetooth/mgmt.c

index ecc3da6a14a18b5528318b1bdf6ce80c3934ba0f..ee761fb0955946ad5081d783336df4bedcbd5d74 100644 (file)
@@ -628,7 +628,8 @@ static u32 get_supported_settings(struct hci_dev *hdev)
 
                if (lmp_ssp_capable(hdev)) {
                        settings |= MGMT_SETTING_SSP;
-                       settings |= MGMT_SETTING_HS;
+                       if (IS_ENABLED(CONFIG_BT_HS))
+                               settings |= MGMT_SETTING_HS;
                }
 
                if (lmp_sc_capable(hdev))
@@ -2281,6 +2282,10 @@ 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,