OrangePi_CM5/drivers/bluetooth
Pauli Virtanen b42fde92cd Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS
commit 55981d3541812234e687062926ff199c83f79a39 upstream.

Some USB BT adapters don't satisfy the MTU requirement mentioned in
commit e848dbd364ac ("Bluetooth: btusb: Add support USB ALT 3 for WBS")
and have ALT 3 setting that produces no/garbled audio. Some adapters
with larger MTU were also reported to have problems with ALT 3.

Add a flag and check it and MTU before selecting ALT 3, falling back to
ALT 1. Enable the flag for Realtek, restoring the previous behavior for
non-Realtek devices.

Tested with USB adapters (mtu<72, no/garbled sound with ALT3, ALT1
works) BCM20702A1 0b05:17cb, CSR8510A10 0a12:0001, and (mtu>=72, ALT3
works) RTL8761BU 0bda:8771, Intel AX200 8087:0029 (after disabling
ALT6). Also got reports for (mtu>=72, ALT 3 reported to produce bad
audio) Intel 8087:0a2b.

Signed-off-by: Pauli Virtanen <pav@iki.fi>
Fixes: e848dbd364ac ("Bluetooth: btusb: Add support USB ALT 3 for WBS")
Tested-by: Michał Kępień <kernel@kempniu.pl>
Tested-by: Jonathan Lampérth <jon@h4n.dev>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-03 10:09:28 +02:00
..
Kconfig
…
Makefile
…
ath3k.c Bluetooth: ath3k: use usb_control_msg_send() and usb_control_msg_recv() 2020-09-25 16:33:59 +02:00
bcm203x.c
…
bfusb.c
…
bluecard_cs.c
…
bpa10x.c
…
bt3c_cs.c
…
btbcm.c
…
btbcm.h
…
btintel.c Bluetooth: btintel: Functions to send firmware header / payload 2020-09-14 20:30:36 +02:00
btintel.h Bluetooth: btintel: Replace zero-length array with flexible-array member 2020-10-30 16:57:41 -05:00
btmrvl_debugfs.c
…
btmrvl_drv.h
…
btmrvl_main.c
…
btmrvl_sdio.c Bluetooth: btmrvl: eliminate duplicates introducing btmrvl_reg_89xx 2020-08-02 19:59:43 +02:00
btmrvl_sdio.h
…
btmtksdio.c Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware() 2020-12-30 11:53:39 +01:00
btmtkuart.c
…
btqca.c Bluetooth: btqca: Don't modify firmware contents in-place 2021-07-14 16:55:34 +02:00
btqca.h
…
btqcomsmd.c Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function 2021-03-04 11:37:20 +01:00
btrsi.c
…
btrtl.c
…
btrtl.h
…
btsdio.c
…
btusb.c Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS 2021-09-03 10:09:28 +02:00
dtl1_cs.c
…
h4_recv.h
…
hci_ag6xx.c
…
hci_ath.c
…
hci_bcm.c
…
hci_bcsp.c
…
hci_h4.c
…
hci_h5.c Bluetooth: hci_h5: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for btrtl 2021-03-07 12:34:09 +01:00
hci_intel.c Bluetooth: hci_intel: enable on new platform 2020-09-11 09:03:42 +02:00
hci_ldisc.c tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer 2021-03-04 11:37:36 +01:00
hci_ll.c
…
hci_mrvl.c
…
hci_nokia.c
…
hci_qca.c Bluetooth: hci_qca: fix potential GPF 2021-07-14 16:55:34 +02:00
hci_serdev.c Bluetooth: hci_uart: Fix a race for write_work scheduling 2021-03-04 11:37:20 +01:00
hci_uart.h
…
hci_vhci.c
…