linux-stable/drivers/media/usb/dvb-usb
Sean Young 0c84bde4f3 media: Revert "media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()"
This reverts commit 2052138b7d.

This breaks the TeVii s480 dual DVB-S2 S660. The device has a bulk in
endpoint but no corresponding out endpoint, so the device does not pass
the "has both receive and send bulk endpoint" test.

Seemingly this device does not use dvb_usb_generic_rw() so I have tried
removing the generic_bulk_ctrl_endpoint entry, but this resulted in
different problems.

As we have no explanation yet, revert.

$ dmesg | grep -i -e dvb -e dw21 -e usb\ 4
[    0.999122] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    1.023123] usb 4-1: new high-speed USB device number 2 using ehci-pci
[    1.130247] usb 1-1: New USB device found, idVendor=9022, idProduct=d482,
+bcdDevice= 0.01
[    1.130257] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.152323] usb 4-1: New USB device found, idVendor=9022, idProduct=d481,
+bcdDevice= 0.01
[    1.152329] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    6.701033] dvb-usb: found a 'TeVii S480.2 USB' in cold state, will try to
+load a firmware
[    6.701178] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[    6.701179] dw2102: start downloading DW210X firmware
[    6.703715] dvb-usb: found a 'Microsoft Xbox One Digital TV Tuner' in cold
+state, will try to load a firmware
[    6.703974] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[    6.756432] usb 1-1: USB disconnect, device number 2
[    6.862119] dvb-usb: found a 'TeVii S480.2 USB' in warm state.
[    6.862194] dvb-usb: TeVii S480.2 USB error while loading driver (-22)
[    6.862209] dvb-usb: found a 'TeVii S480.1 USB' in cold state, will try to
+load a firmware
[    6.862244] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw'
[    6.862245] dw2102: start downloading DW210X firmware
[    6.914811] usb 4-1: USB disconnect, device number 2
[    7.014131] dvb-usb: found a 'TeVii S480.1 USB' in warm state.
[    7.014487] dvb-usb: TeVii S480.1 USB error while loading driver (-22)
[    7.014538] usbcore: registered new interface driver dw2102

Closes: https://lore.kernel.org/stable/20240801165146.38991f60@mir/

Fixes: 2052138b7d ("media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()")
Reported-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Cc: stable@vger.kernel.org
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2024-08-08 21:40:34 +02:00
..
a800.c media: dvb-usb: a800: use an enum for the device number 2022-04-18 07:36:43 +02:00
af9005-fe.c media: dvb-usb: remove unnecessary (void*) conversions 2023-05-14 16:05:28 +01:00
af9005-remote.c media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
af9005-script.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
af9005.c media: af9005: Fix null-ptr-deref in af9005_i2c_xfer 2023-07-19 12:57:50 +02:00
af9005.h media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
az6027.c media: dvb-usb: remove unnecessary (void*) conversions 2023-05-14 16:05:28 +01:00
az6027.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cinergyT2-core.c media: cinergyT2-core: use the newer dvb-usb macros for USB device 2022-04-18 07:36:43 +02:00
cinergyT2-fe.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cinergyT2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
cxusb-analog.c media: videobuf2: core: Rename min_buffers_needed field in vb2_queue 2023-12-13 17:31:27 +01:00
cxusb.c media: cxusb: use the newer dvb-usb macros for USB device 2022-04-18 07:36:43 +02:00
cxusb.h media: cxusb: Revert "media: cxusb: add raw mode support for, Medion MD95700" 2019-06-05 15:26:40 -04:00
dib07x0.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dib0700_core.c media: dib0700: Only touch one bit when start/stop an adapter 2021-11-19 16:24:07 +00:00
dib0700_devices.c media: dvb-usb: dib0700_devices: Add missing release_firmware() 2024-04-15 13:42:38 +02:00
dib0700.h media: dib0700: remove orphan dvb_usb_dib0700_ir_proto declaration 2022-11-25 10:15:21 +00:00
dibusb-common.c media: dvb-usb: add missing MODULE_DESCRIPTION() macros 2024-06-29 12:20:05 +02:00
dibusb-mb.c media: dvb-usb: dibusb-mb: use an enum for the device number 2022-04-18 07:36:44 +02:00
dibusb-mc-common.c media: dvb-usb: add missing MODULE_DESCRIPTION() macros 2024-06-29 12:20:05 +02:00
dibusb-mc.c media: dvb-usb: dibusb-mc: use an enum for the device number 2022-04-18 07:36:44 +02:00
dibusb.h media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
digitv.c media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer() 2023-05-14 06:30:06 +01:00
digitv.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dtt200u-fe.c media: dvb-usb: remove unnecessary (void*) conversions 2023-05-14 16:05:28 +01:00
dtt200u.c media: dvb-usb: dtt200u: use an enum for the device number 2022-04-18 07:36:43 +02:00
dtt200u.h media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
dtv5100.c media: dtv5100: use the newer dvb-usb macros for USB device 2022-04-18 07:36:43 +02:00
dtv5100.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dvb-usb-common.h media: dvb-usb: make dvb_usb_device_properties const 2020-04-21 12:56:10 +02:00
dvb-usb-dvb.c media: cxusb: implement Medion MD95700 digital / analog coexistence 2019-05-28 15:59:19 -04:00
dvb-usb-firmware.c media: dvb-usb: make dvb_usb_device_properties const 2020-04-21 12:56:10 +02:00
dvb-usb-i2c.c media: dvb-usb: Fix error handling in dvb_usb_i2c_init 2021-07-22 08:23:15 +02:00
dvb-usb-init.c media: Revert "media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()" 2024-08-08 21:40:34 +02:00
dvb-usb-remote.c media updates for v4.15-rc1 2017-11-15 20:30:12 -08:00
dvb-usb-urb.c media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0 2019-12-13 09:17:42 +01:00
dvb-usb.h media: dvb-usb: Fix kerneldoc 2024-02-05 12:57:45 +01:00
dw2102.c media: dw2102: fix a potential buffer overflow 2024-04-29 19:04:03 +01:00
dw2102.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gp8psk.c media: dvb-usb: gp8psk: Remove an unnecessary ternary operator 2023-09-27 09:39:55 +02:00
gp8psk.h media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
Kconfig media: media/*/Kconfig: sort entries 2022-03-18 05:58:35 +01:00
m920x.c media: dvb-usb: m920x: Fix a potential memory leak in m920x_i2c_xfer() 2023-07-19 12:57:47 +02:00
m920x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile media: move ttpci-eeprom to common 2021-06-02 11:16:15 +02:00
nova-t-usb2.c media: dvb-usb: nova-t-usb2: use an enum for the device number 2022-04-18 07:36:44 +02:00
opera1.c media: opera1: remove unused struct 'rc_map_opera_table' 2024-05-31 13:51:16 +02:00
pctv452e.c media: dvb-usb: remove unnecessary (void*) conversions 2023-05-14 16:05:28 +01:00
technisat-usb2.c media: technisat-usb2: Fix comment typo 2022-08-29 15:32:14 +02:00
ttusb2.c media: dvb-usb: ttusb2: use an enum for the device number 2022-04-18 07:36:44 +02:00
ttusb2.h media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
umt-010.c media: dvb-usb: umt-010: use an enum for the device number 2022-04-18 07:36:44 +02:00
usb-urb.c media: dvb-usb: fix spelling mistake: "completition" -> "completion" 2018-08-03 16:08:55 -04:00
vp702x-fe.c media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
vp702x.c media: dvb-usb: vp702x: use an enum for the device number 2022-04-18 07:36:44 +02:00
vp702x.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vp7045-fe.c media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00
vp7045.c media: dvb-usb: vp7045: use an enum for the device number 2022-04-18 07:36:44 +02:00
vp7045.h media: docs: move driver-specific info to driver-api 2020-04-14 10:36:18 +02:00