Re: [PATCH v1] Bluetooth: btusb: Fix enable failure for a CSR BT dongle

From: Paul Menzel
Date: Thu Oct 27 2022 - 07:19:04 EST


Dear Zijun,


Thank you for the patch.


Am 27.10.22 um 13:06 schrieb Zijun Hu:
From: Zijun Hu <zijuhu@xxxxxxxxxxxxxxxx>

I‘d be more specific in the summary/title. Maybe:

Correct quirk check to include BT 4.0

A CSR BT dongle fails to be enabled bcz it is not detected as fake

I’d write *because*.

rightly, fixed by correcting fake detection condition.

below btmon error log says HCI_QUIRK_BROKEN_FILTER_CLEAR_ALL is not set.

< HCI Command: Set Event Filter (0x03|0x0005) plen 1 #23 [hci0]
Type: Clear All Filters (0x00)
HCI Event: Command Complete (0x0e) plen 4 #24 [hci0]
Set Event Filter (0x03|0x0005) ncmd 1
Status: Invalid HCI Command Parameters (0x12)

the quirk is not set bcz current fake detection does not mark the dongle
as fake with below version info.

< HCI Command: Read Local Version In.. (0x04|0x0001) plen 0 #1 [hci0]
HCI Event: Command Complete (0x0e) plen 12 #2 [hci0]
Read Local Version Information (0x04|0x0001) ncmd 1
Status: Success (0x00)
HCI version: Bluetooth 4.0 (0x06) - Revision 12576 (0x3120)
LMP version: Bluetooth 4.0 (0x06) - Subversion 8891 (0x22bb)
Manufacturer: Cambridge Silicon Radio (10)

Link: https://bugzilla.kernel.org/show_bug.cgi?id=60824
Signed-off-by: Zijun Hu <zijuhu@xxxxxxxxxxxxxxxx>

Please add a Fixes: tag.


Kind regards,

Paul


---
drivers/bluetooth/btusb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 420be2ee2acf..727469d073f9 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2155,7 +2155,7 @@ static int btusb_setup_csr(struct hci_dev *hdev)
is_fake = true;
else if (le16_to_cpu(rp->lmp_subver) <= 0x22bb &&
- le16_to_cpu(rp->hci_ver) > BLUETOOTH_VER_4_0)
+ le16_to_cpu(rp->hci_ver) >= BLUETOOTH_VER_4_0)
is_fake = true;
/* Other clones which beat all the above checks */