diff options
| author | 2021-07-17 01:21:43 +0200 | |
|---|---|---|
| committer | 2021-07-29 21:54:42 +0200 | |
| commit | f4292e2faf522f899b642d2040a2edbcbd455b9f (patch) | |
| tree | 0f24e9f24bddc6ed8e1fe29a4714bb56abaafad7 /net/bluetooth/hci_request.c | |
| parent | Bluetooth: btusb: Enable MSFT extension for Intel next generation controllers (diff) | |
| download | linux-dev-f4292e2faf522f899b642d2040a2edbcbd455b9f.tar.xz linux-dev-f4292e2faf522f899b642d2040a2edbcbd455b9f.zip | |
Bluetooth: btusb: Make the CSR clone chip force-suspend workaround more generic
Turns out Hans de Goede completed the work I started last year trying to
improve Chinese-clone detection of CSR controller chips. Quirk after quirk
these Bluetooth dongles are more usable now.
Even after a few BlueZ regressions; these clones are so fickle that some
days they stop working altogether. Except on Windows, they work fine.
But this force-suspend initialization quirk seems to mostly do the trick,
after a lot of testing Bluetooth now seems to work *all* the time.
The only problem is that the solution ended up being masked under a very
stringent check; when there are probably hundreds of fake dongle
models out there that benefit from a good reset. Make it so.
Fixes: 81cac64ba258a ("Bluetooth: Deal with USB devices that are faking CSR vendor")
Fixes: cde1a8a992875 ("Bluetooth: btusb: Fix and detect most of the Chinese Bluetooth controllers")
Fixes: d74e0ae7e0303 ("Bluetooth: btusb: Fix detection of some fake CSR controllers with a bcdDevice val of 0x0134")
Fixes: 0671c0662383e ("Bluetooth: btusb: Add workaround for remote-wakeup issues with Barrot 8041a02 fake CSR controllers")
Cc: stable@vger.kernel.org
Cc: Hans de Goede <hdegoede@redhat.com>
Tested-by: Ismael Ferreras Morezuelas <swyterzone@gmail.com>
Signed-off-by: Ismael Ferreras Morezuelas <swyterzone@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/hci_request.c')
0 files changed, 0 insertions, 0 deletions
