kernel_samsung_a53x/drivers/bluetooth
Luiz Augusto von Dentz 2ae7c56a87 Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001
commit 2c1dda2acc4192d826e84008d963b528e24d12bc upstream.

Fake CSR controllers don't seem to handle short-transfer properly which
cause command to time out:

kernel: usb 1-1: new full-speed USB device number 19 using xhci_hcd
kernel: usb 1-1: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
kernel: usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
kernel: usb 1-1: Product: BT DONGLE10
...
Bluetooth: hci1: Opcode 0x1004 failed: -110
kernel: Bluetooth: hci1: command 0x1004 tx timeout

According to USB Spec 2.0 Section 5.7.3 Interrupt Transfer Packet Size
Constraints a interrupt transfer is considered complete when the size is 0
(ZPL) or < wMaxPacketSize:

 'When an interrupt transfer involves more data than can fit in one
 data payload of the currently established maximum size, all data
 payloads are required to be maximum-sized except for the last data
 payload, which will contain the remaining data. An interrupt transfer
 is complete when the endpoint does one of the following:

 • Has transferred exactly the amount of data expected
 • Transfers a packet with a payload size less than wMaxPacketSize or
 transfers a zero-length packet'

Link: https://bugzilla.kernel.org/show_bug.cgi?id=219365
Fixes: 7b05933340f4 ("Bluetooth: btusb: Fix not handling ZPL/short-transfer")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-23 23:21:56 +01:00
..
ath3k.c Bluetooth: ath3k: Fix multiple issues reported by checkpatch.pl 2024-11-19 14:19:06 +01:00
bcm43xx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm203x.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bfusb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bluecard_cs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bpa10x.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bt3c_cs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btbcm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btbcm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btintel.c Bluetooth: btintel: Fixe build regression 2024-11-19 09:23:15 +01:00
btintel.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btmrvl_debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btmrvl_drv.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btmrvl_main.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btmrvl_sdio.c Bluetooth: btmrvl: Use IRQF_NO_AUTOEN flag in request_irq() 2024-11-23 23:21:35 +01:00
btmrvl_sdio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btmtksdio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btmtkuart.c Bluetooth: btmtkuart: fix recv_buf() return value 2024-11-18 12:12:38 +01:00
btpower.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btqca.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btqca.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btqcomsmd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btrsi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btrtl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btrtl.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btsdio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
btusb.c Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001 2024-11-23 23:21:56 +01:00
btwilink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dtl1_cs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
h4_recv.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_ag6xx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_ath.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_bcm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_bcsp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_h4.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_h5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_intel.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_ldisc.c Bluetooth: hci_ldisc: check HCI_UART_PROTO_READY flag in HCIUARTGETPROTO 2024-11-23 23:20:50 +01:00
hci_ll.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_mrvl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_nokia.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_qca.c Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot 2024-11-19 14:19:42 +01:00
hci_serdev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_uart.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hci_vhci.c Bluetooth: vhci: Fix race when opening vhci device 2024-11-08 11:26:08 +01:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00