summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Michaud <alainm@chromium.org>2020-03-11 14:18:57 +0000
committerMarcel Holtmann <marcel@holtmann.org>2020-03-11 15:25:15 +0100
commit8a5956197d7eb7a0cbb5b4271111d1bf6e17f25c (patch)
treee7c9b17afc3d1a29a8735304f4b8bd6c689cba9d
parentbb0084ec893ebed123911e50c93f3b8ae8470531 (diff)
downloadlinux-8a5956197d7eb7a0cbb5b4271111d1bf6e17f25c.tar.gz
linux-8a5956197d7eb7a0cbb5b4271111d1bf6e17f25c.tar.bz2
linux-8a5956197d7eb7a0cbb5b4271111d1bf6e17f25c.zip
Bluetooth: fix off by one in err_data_reporting cmd masks.
This change fixes the off by one error in the erroneous command bit masks which can lead to the erroneous data commands being sent to a controller that doesn't support them. Signed-off-by: Alain Michaud <alainm@chromium.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r--net/bluetooth/hci_core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 9ce98762559b..196edc039b8e 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -603,7 +603,7 @@ static int hci_init3_req(struct hci_request *req, unsigned long opt)
if (hdev->commands[8] & 0x01)
hci_req_add(req, HCI_OP_READ_PAGE_SCAN_ACTIVITY, 0, NULL);
- if (hdev->commands[18] & 0x02)
+ if (hdev->commands[18] & 0x04)
hci_req_add(req, HCI_OP_READ_DEF_ERR_DATA_REPORTING, 0, NULL);
/* Some older Broadcom based Bluetooth 1.2 controllers do not
@@ -844,7 +844,7 @@ static int hci_init4_req(struct hci_request *req, unsigned long opt)
/* Set erroneous data reporting if supported to the wideband speech
* setting value
*/
- if (hdev->commands[18] & 0x04) {
+ if (hdev->commands[18] & 0x08) {
bool enabled = hci_dev_test_flag(hdev,
HCI_WIDEBAND_SPEECH_ENABLED);