On 10/26/2022 11:41 AM, quic_zijuhu wrote: > On 10/26/2022 3:38 AM, Luiz Augusto von Dentz wrote: >> Hi Zijun, >> >> On Tue, Oct 25, 2022 at 11:08 AM Jack <ostroffjh@xxxxxxxxxxxxxxxxxxxxx> wrote: >>> >>> On 2022.10.25 03:02, Paul Menzel wrote: >>>> Thank you for your work on this driver. >>>> >>>> Am 24.10.22 um 23:11 schrieb Jack: >>>>> Cheap USB BT dongles that are bad clones of CSR "ID 0a12:0001 >>>>> Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)" have had >>>>> historic problems, due to various bad behaviors. See [Bug 60824] >>>>> [PATCH][regression] Cambridge Silicon Radio, Ltd Bluetooth Dongle >>>>> unusable (https://bugzilla.kernel.org/show_bug.cgi) for more details >>>>> and background. The patch in that bug was initially mainlined in >>>>> 5.9, and underwent several revisions since then. It has continued >>>>> to work through all of the 5.19 series, but it does not work with >>>>> any of the 6.0 kernels. >>>>> >>>>> I have made three unsuccessful attempts to git bisect using vanilla >>>>> sources. All settled on totally irrelevant commits. These have all >>>>> used v6.0-rc1 and v5.19 as the starting bad and good commits. >>>> >>> Before receiving your reply, I made another start at bisect >>> >>> # bad: [5030a9a03f0107f645772450bcba521b2ec19a51] dt-bindings: net: >>> fsl,fec: Add nvmem-cells / nvmem-cell-names properties >>> # good: [8a958732818bc27f7da4d41ecf2c5c99d9aa8b0e] tls: rx: factor out >>> device darg update >>> git bisect start '5030a9a03f0107f645772450bcba521b2ec19a51' >>> '8a958732818bc27f7da4d41ecf2c5c99d9aa8b0e' >>> # good: [7ca433dc6dedb2ec98dfc943f6db0c9b8996ed11] Merge tag >>> 'net-5.19-rc8' of >>> git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net >>> git bisect good 7ca433dc6dedb2ec98dfc943f6db0c9b8996ed11 >>> # bad: [e168f690087735ad12604ee6ee2db1b93e323072] Bluetooth: btusb: >>> Remove HCI_QUIRK_BROKEN_ERR_DATA_REPORTING for fake CSR >>> git bisect bad e168f690087735ad12604ee6ee2db1b93e323072 >>> # good: [5fb859f79f4f49d9df16bac2b3a84a6fa3aaccf1] net: ipa: initialize >>> ring indexes to 0 >>> git bisect good 5fb859f79f4f49d9df16bac2b3a84a6fa3aaccf1 >>> # good: [ec2ea5e06c67f85c6541a74b661722a176be086f] net: ipa: list >>> supported IPA versions in the Makefile >>> git bisect good ec2ea5e06c67f85c6541a74b661722a176be086f >>> # good: [df332800a914e9fd97b83aa63832979227fd8a8d] Bluetooth: >>> btmtksdio: Add in-band wakeup support >>> git bisect good df332800a914e9fd97b83aa63832979227fd8a8d >>> # good: [6f43f6169a8229bb6ddbf483d3be760d48c4cdd1] Bluetooth: clean up >>> error pointer checking >>> git bisect good 6f43f6169a8229bb6ddbf483d3be760d48c4cdd1 >>> # good: [46459cb6d4e63066e227a496ae8af35ba8c0b23b] Bluetooth: hci_bcm: >>> Increase host baudrate for CYW55572 in autobaud mode >>> git bisect good 46459cb6d4e63066e227a496ae8af35ba8c0b23b >>> # good: [0feb8af0275d196a29e321bedc15319673923cb6] Bluetooth: hci_sync: >>> Correct hci_set_event_mask_page_2_sync() event mask >>> git bisect good 0feb8af0275d196a29e321bedc15319673923cb6 >>> # bad: [1172c59f451f524a14bac5e7b047781883dfe441] Bluetooth: btusb: >>> Remove HCI_QUIRK_BROKEN_ERR_DATA_REPORTING for QCA >>> git bisect bad 1172c59f451f524a14bac5e7b047781883dfe441 >>> # bad: [766ae2422b4312a73510ebee9266bc23b466fbbb] Bluetooth: hci_sync: >>> Check LMP feature bit instead of quirk >>> git bisect bad 766ae2422b4312a73510ebee9266bc23b466fbbb >>> # first bad commit: [766ae2422b4312a73510ebee9266bc23b466fbbb] >>> Bluetooth: hci_sync: Check LMP feature bit instead of quirk >>> >>> And 766ae2422b4312a73510ebee9266bc23b466fbbb does make sense as a >>> likely culprit. >> >> Looks like we will need to reintroduce the quirk then since it appears >> the LMP feature bit is probably set in those controllers but the >> command doesn't work. >> > no, that issue is not caused by my change > it is below HCI command error which is not related the quirk HCI_QUIRK_BROKEN_ERR_DATA_REPORTING > > < HCI Command: Set Event Filter (0x03|0x0005) plen 1 #23 [hci0] 5.316838 > Type: Clear All Filters (0x00) >> HCI Event: Command Complete (0x0e) plen 4 >> #24 >> [hci0] 5.319751 > > Set Event Filter (0x03|0x0005) ncmd 1 > Status: Invalid HCI Command Parameters (0x12) > = Close Index: 00:1A:7D:xx:xx:xx > Hi Luiz, i find out it is a new issue. this device is fake device actually. but it is not detected as fake device. i will submit patch to fix it. the fix is very simple. diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c old mode 100644 new mode 100755 index 420be2ee2acf..727469d073f9 --- 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;