Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Bluetooth: btqca: Enable MSFT extension for Qualcomm WCN399x

The following Qualcomm WCN399x Bluetooth controllers support the
Microsoft vendor extension and they are using 0xFD70 for VsMsftOpCode.
-WCN3990
-WCN3991
-WCN3998

< HCI Command: ogf 0x3f, ocf 0x0170, plen 1
00
> HCI Event: 0x0e plen 18
01 70 FD 00 00 1F 00 00 00 00 00 00 00 04 4D 53 46 54

The following test step was performed.
- Boot the device with WCN3991 and verify INFO print in dmesg.

Signed-off-by: Miao-chen Chou <mcchou@chromium.org>
Reviewed-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org>
Reviewed-by: Archie Pusaka <apusaka@chromium.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

authored by

Miao-chen Chou and committed by
Marcel Holtmann
eaf19b0c 36211f7f

+13
+13
drivers/bluetooth/btqca.c
··· 564 564 return err; 565 565 } 566 566 567 + /* WCN399x supports the Microsoft vendor extension with 0xFD70 as the 568 + * VsMsftOpCode. 569 + */ 570 + switch (soc_type) { 571 + case QCA_WCN3990: 572 + case QCA_WCN3991: 573 + case QCA_WCN3998: 574 + hci_set_msft_opcode(hdev, 0xFD70); 575 + break; 576 + default: 577 + break; 578 + } 579 + 567 580 /* Perform HCI reset */ 568 581 err = qca_send_reset(hdev); 569 582 if (err < 0) {