Hi On 2024-07-30, Greg Kroah-Hartman wrote: > 6.10-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: Zheng Yejian <zhengyejian1@xxxxxxxxxx> > > [ Upstream commit 2052138b7da52ad5ccaf74f736d00f39a1c9198c ] > > Infinite log printing occurs during fuzz test: > > rc rc1: DViCO FusionHDTV DVB-T USB (LGZ201) as ... > ... > dvb-usb: schedule remote query interval to 100 msecs. > dvb-usb: DViCO FusionHDTV DVB-T USB (LGZ201) successfully initialized ... > dvb-usb: bulk message failed: -22 (1/0) > dvb-usb: bulk message failed: -22 (1/0) > dvb-usb: bulk message failed: -22 (1/0) > ... > dvb-usb: bulk message failed: -22 (1/0) > > Looking into the codes, there is a loop in dvb_usb_read_remote_control(), > that is in rc_core_dvb_usb_remote_init() create a work that will call > dvb_usb_read_remote_control(), and this work will reschedule itself at > 'rc_interval' intervals to recursively call dvb_usb_read_remote_control(), > see following code snippet: [...] This patch, as part of v6.10.3-rc3 breaks my TeVii s480 dual DVB-S2 card, reverting just this patch from v6.10-rc3 fixes the situation again (a co-installed Microsoft Xbox One Digital TV DVB-T2 Tuner keeps working). broken, v6.10.3-rc3: $ 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 [ 7.278244] dvb-usb: found a 'Microsoft Xbox One Digital TV Tuner' in warm state. [ 7.278403] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 7.278915] dvbdev: DVB: registering new adapter (Microsoft Xbox One Digital TV Tuner) [ 7.279137] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 7.460377] usb 6-5: DVB: registering adapter 0 frontend 0 (Panasonic MN88472)... [ 7.460389] dvbdev: dvb_create_media_entity: media entity 'Panasonic MN88472' registered. [ 7.460822] dvb-usb: Microsoft Xbox One Digital TV Tuner successfully initialized and connected. [ 7.460998] usbcore: registered new interface driver dvb_usb_dib0700 [ 8.496278] usb 1-1: new high-speed USB device number 3 using ehci-pci [ 8.625238] usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 2 [ 8.626608] usb 1-1: New USB device found, idVendor=9022, idProduct=d660, bcdDevice= 0.00 [ 8.626613] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 8.626616] usb 1-1: Product: DVBS2BOX [ 8.626618] usb 1-1: Manufacturer: TBS-Tech [ 8.627027] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware [ 8.627079] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw' [ 8.627081] dw2102: start downloading DW210X firmware [ 8.655186] usb 4-1: new high-speed USB device number 3 using ehci-pci [ 8.781321] dvb-usb: found a 'TeVii S660 USB' in warm state. [ 8.781775] dvb-usb: TeVii S660 USB error while loading driver (-22) [ 8.784340] usb 4-1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 2 [ 8.785705] usb 4-1: New USB device found, idVendor=9022, idProduct=d660, bcdDevice= 0.00 [ 8.785714] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 8.785718] usb 4-1: Product: DVBS2BOX [ 8.785721] usb 4-1: Manufacturer: TBS-Tech [ 8.786247] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware [ 8.786299] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw' [ 8.786301] dw2102: start downloading DW210X firmware [ 8.941215] dvb-usb: found a 'TeVii S660 USB' in warm state. [ 8.941532] dvb-usb: TeVii S660 USB error while loading driver (-22) [ 16.107993] mn88472 12-0018: downloading firmware from file 'dvb-demod-mn88472-02.fw' working, v6.10.3-rc3 with this patch reverted: $ dmesg | grep -i -e dvb -e dw21 -e usb\ 4 [ 1.136231] usb 1-1: new high-speed USB device number 2 using ehci-pci [ 1.161156] usb 4-1: new high-speed USB device number 2 using ehci-pci [ 1.267579] usb 1-1: New USB device found, idVendor=9022, idProduct=d482, bcdDevice= 0.01 [ 1.267588] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1.291329] usb 4-1: New USB device found, idVendor=9022, idProduct=d481, bcdDevice= 0.01 [ 1.291338] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 3.135217] dvb-usb: found a 'TeVii S480.2 USB' in cold state, will try to load a firmware [ 3.135430] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw' [ 3.135432] dw2102: start downloading DW210X firmware [ 3.166588] dvb-usb: found a 'Microsoft Xbox One Digital TV Tuner' in cold state, will try to load a firmware [ 3.167079] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw' [ 3.188357] usb 1-1: USB disconnect, device number 2 [ 3.287145] dvb-usb: found a 'TeVii S480.2 USB' in warm state. [ 3.287222] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 3.287254] dvbdev: DVB: registering new adapter (TeVii S480.2 USB) [ 3.287258] usb 1-1: media controller created [ 3.287355] dvb-usb: MAC address: 01:01:01:01:01:01 [ 3.287499] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 3.290759] dvb-usb: no frontend was attached by 'TeVii S480.2 USB' [ 3.315441] rc rc0: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter [ 3.315640] dvb-usb: schedule remote query interval to 150 msecs. [ 3.315646] dvb-usb: TeVii S480.2 USB successfully initialized and connected. [ 3.315730] dvb-usb: found a 'TeVii S480.1 USB' in cold state, will try to load a firmware [ 3.315786] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw' [ 3.315790] dw2102: start downloading DW210X firmware [ 3.340783] dvb-usb: TeVii S480.2 USB successfully deinitialized and disconnected. [ 3.369557] usb 4-1: USB disconnect, device number 2 [ 3.470172] dvb-usb: found a 'TeVii S480.1 USB' in warm state. [ 3.470320] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 3.470371] dvbdev: DVB: registering new adapter (TeVii S480.1 USB) [ 3.470377] usb 4-1: media controller created [ 3.470516] dvb-usb: MAC address: a1:a1:a1:a1:a1:a1 [ 3.470724] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 3.472540] dvb-usb: no frontend was attached by 'TeVii S480.1 USB' [ 3.474008] rc rc1: lirc_dev: driver dw2102 registered at minor = 0, scancode receiver, no transmitter [ 3.474268] dvb-usb: schedule remote query interval to 150 msecs. [ 3.474274] dvb-usb: TeVii S480.1 USB successfully initialized and connected. [ 3.474331] usbcore: registered new interface driver dw2102 [ 3.511730] dvb-usb: TeVii S480.1 USB successfully deinitialized and disconnected. [ 3.743260] dvb-usb: found a 'Microsoft Xbox One Digital TV Tuner' in warm state. [ 3.743496] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 3.744132] dvbdev: DVB: registering new adapter (Microsoft Xbox One Digital TV Tuner) [ 3.744363] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 3.924797] usb 6-5: DVB: registering adapter 0 frontend 0 (Panasonic MN88472)... [ 3.924805] dvbdev: dvb_create_media_entity: media entity 'Panasonic MN88472' registered. [ 3.925073] dvb-usb: Microsoft Xbox One Digital TV Tuner successfully initialized and connected. [ 3.925220] usbcore: registered new interface driver dvb_usb_dib0700 [ 4.928291] usb 1-1: new high-speed USB device number 3 using ehci-pci [ 5.057227] usb 1-1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 2 [ 5.060100] usb 1-1: New USB device found, idVendor=9022, idProduct=d660, bcdDevice= 0.00 [ 5.060106] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 5.060109] usb 1-1: Product: DVBS2BOX [ 5.060112] usb 1-1: Manufacturer: TBS-Tech [ 5.060517] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware [ 5.060560] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw' [ 5.060562] dw2102: start downloading DW210X firmware [ 5.105152] usb 4-1: new high-speed USB device number 3 using ehci-pci [ 5.214345] dvb-usb: found a 'TeVii S660 USB' in warm state. [ 5.214663] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 5.215024] dvbdev: DVB: registering new adapter (TeVii S660 USB) [ 5.215031] usb 1-1: media controller created [ 5.234371] usb 4-1: config 1 interface 0 altsetting 0 bulk endpoint 0x81 has invalid maxpacket 2 [ 5.235622] usb 4-1: New USB device found, idVendor=9022, idProduct=d660, bcdDevice= 0.00 [ 5.235632] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 5.235635] usb 4-1: Product: DVBS2BOX [ 5.235638] usb 4-1: Manufacturer: TBS-Tech [ 5.236096] dvb-usb: found a 'TeVii S660 USB' in cold state, will try to load a firmware [ 5.236154] dvb-usb: downloading firmware from file 'dvb-usb-s660.fw' [ 5.236157] dw2102: start downloading DW210X firmware [ 5.390220] dvb-usb: found a 'TeVii S660 USB' in warm state. [ 5.390437] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. [ 5.390831] dvbdev: DVB: registering new adapter (TeVii S660 USB) [ 5.390837] usb 4-1: media controller created [ 5.457940] dvb-usb: MAC address: 00:18:bd:XX:XX:XX [ 5.458189] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 5.559308] dw2102: Attached ds3000+ts2020! [ 5.559318] usb 1-1: DVB: registering adapter 1 frontend 0 (Montage Technology DS3000)... [ 5.559327] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered. [ 5.560578] rc rc1: lirc_dev: driver dw2102 registered at minor = 1, scancode receiver, no transmitter [ 5.560745] dvb-usb: schedule remote query interval to 150 msecs. [ 5.560748] dvb-usb: TeVii S660 USB successfully initialized and connected. [ 5.643009] dvb-usb: MAC address: 00:18:bd:XX:XX:XX [ 5.643244] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered. [ 5.756627] dw2102: Attached ds3000+ts2020! [ 5.756632] usb 4-1: DVB: registering adapter 2 frontend 0 (Montage Technology DS3000)... [ 5.756641] dvbdev: dvb_create_media_entity: media entity 'Montage Technology DS3000' registered. [ 5.758025] rc rc2: lirc_dev: driver dw2102 registered at minor = 2, scancode receiver, no transmitter [ 5.758194] dvb-usb: schedule remote query interval to 150 msecs. [ 5.758197] dvb-usb: TeVii S660 USB successfully initialized and connected. [ 12.578584] mn88472 12-0018: downloading firmware from file 'dvb-demod-mn88472-02.fw' [ 12.732107] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)... [ 13.338071] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)... [ 13.339290] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)... [ 13.970274] ds3000_firmware_ondemand: Waiting for firmware upload (dvb-fe-ds3000.fw)... The https://www.linuxtv.org/wiki/index.php/TeVii_S480 is a PCIe card which combines a USB host controller with two onboard TeVii s660 USB DVB-S2 cards. 07:00.0 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ohci-pci Kernel modules: ohci_pci 07:00.1 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ehci-pci Kernel modules: ehci_pci 07:00.2 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ohci-pci Kernel modules: ohci_pci 07:00.3 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ehci-pci Kernel modules: ehci_pci 07:00.4 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ohci-pci Kernel modules: ohci_pci 07:00.5 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ehci-pci Kernel modules: ehci_pci 07:00.6 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ohci-pci Kernel modules: ohci_pci 07:00.7 USB controller [0c03]: MosChip Semiconductor Technology Ltd. MCS9990 PCIe to 4-Port USB 2.0 Host Controller [9710:9990] Subsystem: Asix Electronics Corporation (Wrong ID) Device [a000:4000] Kernel driver in use: ehci-pci Kernel modules: ehci_pci : Bus 001.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/1p, 480M |__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=dw2102, 480M /: Bus 002.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/1p, 480M /: Bus 003.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/1p, 480M /: Bus 004.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/1p, 480M |__ Port 001: Dev 003, If 0, Class=Vendor Specific Class, Driver=dw2102, 480M Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 9022:d660 TeVii Technology Ltd. DVB-S2 S660 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 003: ID 9022:d660 TeVii Technology Ltd. DVB-S2 S660 Regards Stefan Lippers-Hollmann