Skip to content

Commit 234f414

Browse files
jason77-wangholtmann
authored andcommitted
Bluetooth: btusb: Some Qualcomm Bluetooth adapters stop working
This issue starts from linux-5.10-rc1, I reproduced this issue on my Dell Inspiron 7447 with BT adapter 0cf3:e005, the kernel will print out: "Bluetooth: hci0: don't support firmware rome 0x31010000", and someone else also reported the similar issue to bugzilla #211571. I found this is a regression introduced by 'commit b40f58b ("Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support"), the patch assumed that if high ROM version is not zero, it is an adapter on WCN6855, but many old adapters don't need to load rampatch or nvm, and they have non-zero high ROM version. To fix it, let the driver match the rom_version in the qca_devices_table first, if there is no entry matched, check the high ROM version, if it is not zero, we assume this adapter is ready to work and no need to load rampatch and nvm like previously. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=211571 Fixes: b40f58b ("Bluetooth: btusb: Add Qualcomm Bluetooth SoC WCN6855 support") Signed-off-by: Hui Wang <[email protected]> Signed-off-by: Marcel Holtmann <[email protected]>
1 parent 1088814 commit 234f414

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

drivers/bluetooth/btusb.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4273,6 +4273,13 @@ static int btusb_setup_qca(struct hci_dev *hdev)
42734273
info = &qca_devices_table[i];
42744274
}
42754275
if (!info) {
4276+
/* If the rom_version is not matched in the qca_devices_table
4277+
* and the high ROM version is not zero, we assume this chip no
4278+
* need to load the rampatch and nvm.
4279+
*/
4280+
if (ver_rom & ~0xffffU)
4281+
return 0;
4282+
42764283
bt_dev_err(hdev, "don't support firmware rome 0x%x", ver_rom);
42774284
return -ENODEV;
42784285
}

0 commit comments

Comments
 (0)