Bug 1177288 - Raspberry pi3 (model b) crashes with network gadget
Raspberry pi3 (model b) crashes with network gadget
Status: NEW
Classification: openSUSE
Product: openSUSE Distribution
Classification: openSUSE
Component: Kernel
Leap 15.2
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: openSUSE Kernel Bugs
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-10-05 09:12 UTC by Stephan Kulow
Modified: 2022-07-03 10:13 UTC (History)
11 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Kulow 2020-10-05 09:12:07 UTC
I use the official Leap 15.2 Jeos image on a pi3b and have a USB network device attached to it (a very special one, https://www.fibrecode.com/fc602-usb-oabr-broadr-reach-100base-t1-stick.html) and it crashes the kernel pretty reliably with the following crash dump.

[   86.184109] usb 1-1.3: USB disconnect, device number 5
[   86.184427] cdc_ether 1-1.3:1.0 eth2: unregister 'cdc_ether' usb-3f980000.usb-1.3, CDC Ethernet Device
[   99.795717] usb 1-1.3: new high-speed USB device number 7 using dwc2
[   99.926758] usb 1-1.3: New USB device found, idVendor=152a, idProduct=857b, bcdDevice= 2.24
[   99.926780] usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[   99.926788] usb 1-1.3: Product: FibreCode FC602 Stick
[   99.926796] usb 1-1.3: Manufacturer: FibreCode
[   99.926804] usb 1-1.3: SerialNumber: FC01330000018a69
[   99.930380] cdc_ether 1-1.3:1.0 eth1: register 'cdc_ether' at usb-3f980000.usb-1.3, CDC Ethernet Device, fc:c2:3d:1f:7f:ad
[   99.949857] cdc_ether 1-1.3:1.0 eth2: renamed from eth1
[  740.880346] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 - ChHltd set, but reason is unknown
[  740.880360] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04400001
[  741.461843] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
[  741.461858] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x06400001
[  741.880374] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 5 - ChHltd set, but reason is unknown
[  741.880386] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04400001
[  741.880395] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  741.880573] WARNING: CPU: 0 PID: 0 at ../drivers/usb/dwc2/hcd.c:2683 dwc2_assign_and_init_hc+0x664/0xa10 [dwc2]
[  741.880578] Modules linked in: af_packet iscsi_ibft iscsi_boot_sysfs vc4 drm_kms_helper drm btsdio snd_soc_core bluetooth snd_compress snd_bcm2835(C) nls_iso8859_1 ac97_bus nls_cp437 snd_pcm_dmaengine ecdh_generic snd_pcm bcm2835_v4l2(C) ecc vfat v4l2_common snd_timer fat videobuf2_vmalloc brcmfmac videobuf2_memops videobuf2_v4l2 snd videobuf2_common videodev mc brcmutil cpufreq_dt soundcore fb_sys_fops cfg80211 syscopyarea sysfillrect microchip sysimgblt rfkill ftdi_sio cdc_ether usbnet lan78xx usbserial mii raspberrypi_hwmon bcm2835_thermal raspberrypi_cpufreq vchiq(C) bcm2835_rng bcm2835_wdt crct10dif_ce uio_pdrv_genirq uio leds_gpio ext4 mbcache jbd2 mmc_block dwc2 udc_core usbcore sdhci_iproc sdhci_pltfm sdhci bcm2835 gpio_raspberrypi_exp mmc_core clk_raspberrypi i2c_bcm2835 bcm2835_dma fixed phy_generic dm_mirror dm_region_hash dm_log sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua scsi_mod efivarfs
[  741.880754] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G         C         5.3.18-lp152.36-default #1 openSUSE Leap 15.2 (unreleased)
[  741.880759] Hardware name: raspberrypi rpi/rpi, BIOS 2020.01 06/02/2020
[  741.880765] pstate: 60000085 (nZCv daIf -PAN -UAO)
[  741.880799] pc : dwc2_assign_and_init_hc+0x664/0xa10 [dwc2]
[  741.880834] lr : dwc2_hcd_select_transactions+0x104/0x1a0 [dwc2]
[  741.880838] sp : ffff000010003c60
[  741.880842] x29: ffff000010003c60 x28: ffff3bd997683dc0 
[  741.880849] x27: ffffa6ec7c4c4000 x26: ffff3bd997679000 
[  741.880857] x25: 0000000000000008 x24: ffffa6ec7c6a55e0 
[  741.880864] x23: ffffa6ec6bbc5080 x22: ffffa6ec77d12830 
[  741.880871] x21: ffffa6ec79871600 x20: ffffa6ec7c6a5080 
[  741.880878] x19: ffffa6ec6bbc50c8 x18: ffffffffffffffff 
[  741.880885] x17: 0000000000000001 x16: 0000000000000007 
[  741.880891] x15: ffff3bd997679708 x14: ffff3bd9978cfa28 
[  741.880898] x13: ffff3bd9978cf67e x12: ffff3bd9976a2000 
[  741.880905] x11: 0000000000000000 x10: ffff3bd9978ce000 
[  741.880912] x9 : 0000000000000000 x8 : 0000000000000003 
[  741.880919] x7 : 0000000000000176 x6 : ffff3bd9978cec90 
[  741.880925] x5 : 0000000000000001 x4 : ffffa6ec79871698 
[  741.880932] x3 : 0000000000000000 x2 : 00000000000005ee 
[  741.880939] x1 : 0000000000000000 x0 : 0000000000000002 
[  741.880946] Call trace:
[  741.880984]  dwc2_assign_and_init_hc+0x664/0xa10 [dwc2]
[  741.881018]  dwc2_hcd_select_transactions+0x104/0x1a0 [dwc2]
[  741.881052]  dwc2_release_channel+0xfc/0x280 [dwc2]
[  741.881087]  dwc2_halt_channel+0xac/0x158 [dwc2]
[  741.881121]  dwc2_hc_n_intr+0x860/0x8c0 [dwc2]
[  741.881155]  dwc2_handle_hcd_intr+0x38c/0x450 [dwc2]
[  741.881188]  _dwc2_hcd_irq+0x20/0x30 [dwc2]
[  741.881278]  usb_hcd_irq+0x3c/0x60 [usbcore]
[  741.881291]  __handle_irq_event_percpu+0x74/0x268
[  741.881299]  handle_irq_event_percpu+0x40/0x98
[  741.881307]  handle_irq_event+0x50/0xa8
[  741.881314]  handle_level_irq+0xd4/0x178
[  741.881321]  generic_handle_irq+0x34/0x50
[  741.881332]  bcm2836_chained_handle_irq+0x4c/0x70
[  741.881339]  generic_handle_irq+0x34/0x50
[  741.881346]  __handle_domain_irq+0x68/0xc0
[  741.881354]  bcm2836_arm_irqchip_handle_irq+0x78/0xe0
[  741.881360]  el1_irq+0xcc/0x180
[  741.881369]  arch_cpu_idle+0x40/0x1c0
[  741.881377]  default_idle_call+0x24/0x44
[  741.881385]  do_idle+0x1dc/0x2c0
[  741.881392]  cpu_startup_entry+0x28/0x30
[  741.881400]  rest_init+0xc4/0xd0
[  741.881409]  arch_call_rest_init+0x14/0x1c
[  741.881414]  start_kernel+0x4e8/0x51c
[  741.881419] ---[ end trace 29007ab7897c5716 ]---
[  742.880425] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 - ChHltd set, but reason is unknown
[  742.880437] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  742.880445] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  743.880453] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 - ChHltd set, but reason is unknown
[  743.880465] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  743.880474] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  744.880491] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 4 - ChHltd set, but reason is unknown
[  744.880505] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  744.880514] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  745.880537] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
[  745.880549] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  745.880557] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  746.880564] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 5 - ChHltd set, but reason is unknown
[  746.880576] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  746.880585] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  747.880601] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
[  747.880612] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  747.880621] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  748.880641] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
[  748.880654] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
[  748.880664] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  749.880675] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
[  749.880686] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  749.880695] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  750.880718] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 4 - ChHltd set, but reason is unknown
Comment 1 Nicolas Patricio Saenz Julienne 2020-10-05 09:22:40 UTC
Is this a regression? Could you test it with tumbleweed and see if the issue remains?
Comment 2 Stephan Kulow 2020-10-05 09:26:21 UTC
Same problem with 5.8.13 from Kernel:Stable

Okt 05 09:21:57 localhost kernel: usb 1-1.3: New USB device found, idVendor=152a, idProduct=857b, bcdDevice= 2.24
Okt 05 09:21:57 localhost kernel: usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=3
Okt 05 09:21:57 localhost kernel: usb 1-1.3: Product: FibreCode FC602 Stick
Okt 05 09:21:57 localhost kernel: usb 1-1.3: Manufacturer: FibreCode
Okt 05 09:21:57 localhost kernel: usb 1-1.3: SerialNumber: FC01330000018a69
Okt 05 09:21:57 localhost systemd-udevd[1349]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Okt 05 09:21:57 localhost kernel: cdc_ether 1-1.3:1.0 eth1: register 'cdc_ether' at usb-3f980000.usb-1.3, CDC Ethernet Device, fc:c2:3d:1f:7f:ad
Okt 05 09:21:57 localhost kernel: usbcore: registered new interface driver cdc_ether
Okt 05 09:21:57 localhost kernel: cdc_ether 1-1.3:1.0 eth2: renamed from eth1
Okt 05 09:22:46 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 0 - ChHltd set, but reason is unknown
Okt 05 09:22:46 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04400009
Okt 05 09:22:46 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
Okt 05 09:22:46 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04400001
Okt 05 09:22:46 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 - ChHltd set, but reason is unknown
Okt 05 09:22:46 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04400009
Okt 05 09:22:47 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 2 - ChHltd set, but reason is unknown
Okt 05 09:22:47 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04400001
Okt 05 09:22:47 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Okt 05 09:22:47 localhost kernel: ------------[ cut here ]------------
Okt 05 09:22:47 localhost kernel: WARNING: CPU: 0 PID: 0 at drivers/usb/dwc2/hcd.c:2682 dwc2_assign_and_init_hc+0x1e4/0x370 [dwc2]
Okt 05 09:22:47 localhost kernel: Modules linked in: cdc_ether usbnet mii af_packet iscsi_ibft iscsi_boot_sysfs rc_cec vc4 drm_kms_helper cec rc_core drm btsdio bluetooth snd_soc_core snd_bcm2835(C) snd_compress ac97_bus snd_pcm_dmaengine snd_pcm ecdh_generic ecc nls_iso8859_1 bcm2835_v4l2(C) nls_cp437 snd_timer videobuf2_vmalloc videobuf2_memops brcmfmac vfat fat videobuf2_v4l2 videobuf2_common snd videodev mc brcmutil cfg80211 cpufreq_dt soundcore fb_sys_fops syscopyarea sysfillrect crct10dif_ce sysimgblt microchip rfkill ftdi_sio lan78xx usbserial raspberrypi_hwmon raspberrypi_cpufreq bcm2835_thermal bcm2835_wdt vchiq(C) bcm2835_rng uio_pdrv_genirq efi_pstore uio leds_gpio hid_generic usbhid mmc_block dwc2 sdhci_iproc sdhci_pltfm udc_core sdhci usbcore bcm2835 gpio_raspberrypi_exp clk_raspberrypi mmc_core i2c_bcm2835 bcm2835_dma phy_generic fixed sg dm_multipath dm_mod scsi_dh_rdac scsi_dh_emc scsi_dh_alua efivarfs
Okt 05 09:22:47 localhost kernel: CPU: 0 PID: 0 Comm: swapper/0 Tainted: G         C        5.8.13-2.g08db7a3-default #1 openSUSE Tumbleweed (unreleased)
Okt 05 09:22:47 localhost kernel: Hardware name: raspberrypi rpi/rpi, BIOS 2020.01 06/02/2020
Okt 05 09:22:47 localhost kernel: pstate: 60000085 (nZCv daIf -PAN -UAO BTYPE=--)
Okt 05 09:22:47 localhost kernel: pc : dwc2_assign_and_init_hc+0x1e4/0x370 [dwc2]
Okt 05 09:22:47 localhost kernel: lr : dwc2_assign_and_init_hc+0x280/0x370 [dwc2]
Okt 05 09:22:47 localhost kernel: sp : ffff800010003cd0
Okt 05 09:22:47 localhost kernel: x29: ffff800010003cd0 x28: ffffd5b5bb53c018 
Okt 05 09:22:47 localhost kernel: x27: ffff00003d560c00 x26: ffffd5b5bb53c018 
Okt 05 09:22:47 localhost kernel: x25: ffff00003a289100 x24: ffff00002761a5e8 
Okt 05 09:22:47 localhost kernel: x23: ffff00002761a680 x22: ffff000038d31348 
Okt 05 09:22:47 localhost kernel: x21: ffff00002761a080 x20: ffff00003c3eee00 
Okt 05 09:22:47 localhost kernel: x19: ffff000038d31300 x18: 0000000000000030 
Okt 05 09:22:47 localhost kernel: x17: 0000000000000000 x16: ffffd5b5ba5ece98 
Okt 05 09:22:47 localhost kernel: x15: ffffd5b5bba23d70 x14: 656c207265667820 
Okt 05 09:22:47 localhost kernel: x13: 676e696d6d697274 x12: 0000000000000000 
Okt 05 09:22:47 localhost kernel: x11: 0000000000000003 x10: 0000000000000191 
Okt 05 09:22:47 localhost kernel: x9 : ffffd5b559c2a070 x8 : ffffd5b5bbc77cac 
Okt 05 09:22:47 localhost kernel: x7 : 0000000000000001 x6 : 0000000082000030 
Okt 05 09:22:47 localhost kernel: x5 : ffff00003c3eee98 x4 : ffff00003a289280 
Okt 05 09:22:47 localhost kernel: x3 : 0000000000000002 x2 : ffff00003a289100 
Okt 05 09:22:47 localhost kernel: x1 : 0000000000000002 x0 : 0000000000000000 
Okt 05 09:22:47 localhost kernel: Call trace:
Okt 05 09:22:47 localhost kernel:  dwc2_assign_and_init_hc+0x1e4/0x370 [dwc2]
Okt 05 09:22:47 localhost kernel:  dwc2_hcd_select_transactions+0x180/0x1b0 [dwc2]
Okt 05 09:22:47 localhost kernel:  dwc2_release_channel+0x224/0x2a0 [dwc2]
Okt 05 09:22:47 localhost kernel:  dwc2_halt_channel+0x94/0x140 [dwc2]
Okt 05 09:22:47 localhost kernel:  dwc2_hc_chhltd_intr_dma+0x3a8/0x3ac [dwc2]
Okt 05 09:22:47 localhost kernel:  dwc2_hc_n_intr+0x208/0x500 [dwc2]
Okt 05 09:22:47 localhost kernel:  dwc2_handle_hcd_intr+0x328/0x420 [dwc2]
Okt 05 09:22:47 localhost kernel:  _dwc2_hcd_irq+0x20/0x30 [dwc2]
Okt 05 09:22:47 localhost kernel:  usb_hcd_irq+0x3c/0x60 [usbcore]
Okt 05 09:22:47 localhost kernel:  __handle_irq_event_percpu+0x68/0x210
Okt 05 09:22:47 localhost kernel:  handle_irq_event+0x70/0x1b0
Okt 05 09:22:47 localhost kernel:  handle_level_irq+0xe4/0x210
Okt 05 09:22:47 localhost kernel:  generic_handle_irq+0x3c/0x54
Okt 05 09:22:47 localhost kernel:  bcm2836_chained_handle_irq+0x54/0x80
Okt 05 09:22:47 localhost kernel:  __handle_domain_irq+0x88/0xf0
Okt 05 09:22:47 localhost kernel:  bcm2836_arm_irqchip_handle_irq+0x74/0xf0
Okt 05 09:22:47 localhost kernel:  el1_irq+0xcc/0x180
Okt 05 09:22:47 localhost kernel:  arch_cpu_idle+0x40/0x1e0
Okt 05 09:22:47 localhost kernel:  cpuidle_idle_call+0x180/0x224
Okt 05 09:22:47 localhost kernel:  do_idle+0xb0/0xfc
Okt 05 09:22:47 localhost kernel:  cpu_startup_entry+0x34/0xb0
Okt 05 09:22:47 localhost kernel:  rest_init+0xc4/0xd4
Okt 05 09:22:47 localhost kernel:  arch_call_rest_init+0x1c/0x28
Okt 05 09:22:47 localhost kernel:  start_kernel+0x484/0x4bc
Okt 05 09:22:47 localhost kernel: ---[ end trace 44d95f9fc6d7a84a ]---
Okt 05 09:22:47 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 2 - ChHltd set, but reason is unknown
Okt 05 09:22:47 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
Okt 05 09:22:47 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 - ChHltd set, but reason is unknown
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 2 - ChHltd set, but reason is unknown
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 4 - ChHltd set, but reason is unknown
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
Okt 05 09:22:48 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Okt 05 09:22:49 localhost kernel: dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 4 - ChHltd set, but reason is unknown
Okt 05 09:22:49 localhost kernel: dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
Okt 05 09:22:49 localhost kernel: dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
Comment 3 Stephan Kulow 2020-10-05 09:27:25 UTC
I can't say if this is a regression, I didn't use this setup before.
Comment 4 Stephan Kulow 2020-10-05 11:02:46 UTC
I flashed another image and it works on raspberry Pi OS:

Linux raspberrypi 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux

(because the USB stick is advertised to be used on rpis, I gave it a try)
Comment 5 Nicolas Patricio Saenz Julienne 2020-10-08 09:56:14 UTC
Sadly, RPi OS uses their own USB driver implementation, which we can't compare with.

Could you test your bug against the latest kernel: https://download.opensuse.org/repositories/Kernel:/HEAD/ARM/
Comment 6 Miroslav Beneš 2022-01-07 13:00:00 UTC
Stephan, have you managed to test Kernel:HEAD kernel? Ideally, the latest one.
Comment 7 Stephan Kulow 2022-01-07 13:31:46 UTC
I no longer have access to the hardware. Dear automotive team, please try an openSUSE image with Kernel:Head as time permits
Comment 8 Radoslav Kolev 2022-01-28 14:08:05 UTC
Tested with Tumbleweed with kernel 5.16.1-1-default #1 SMP Sun Jan 16 11:29:22 UTC 2022 (7cbe369) aarch64 aarch64 aarch64 GNU/Linux after sending a ping on the interface and 1 good packet connectivity stopped with the following output in dmesg:


[  187.355795] usb 1-1.3: new full-speed USB device number 6 using dwc2
[  187.455785] usb 1-1.3: device descriptor read/64, error -32
[  187.775852] usb 1-1.3: new high-speed USB device number 7 using dwc2
[  187.907047] usb 1-1.3: New USB device found, idVendor=152a, idProduct=857b, bcdDevice= 2.26
[  187.907083] usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=3
[  187.907098] usb 1-1.3: Product: FibreCode FC602 Stick
[  187.907110] usb 1-1.3: Manufacturer: FibreCode
[  187.907120] usb 1-1.3: SerialNumber: FC01330000018bc5
[  187.915098] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
[  187.954371] cdc_ether 1-1.3:1.0 eth1: register 'cdc_ether' at usb-3f980000.usb-1.3, CDC Ethernet Device, fc:c2:3d:21:a0:d3
[  187.955079] usbcore: registered new interface driver cdc_ether
[  187.956252] vc4-drm soc:gpu: bound 3f400000.hvs (ops vc4_hvs_ops [vc4])
[  441.715187] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 - ChHltd set, but reason is unknown
[  441.715222] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04000009
[  505.137172] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
[  505.137206] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04000009
[  569.939972] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 0 - ChHltd set, but reason is unknown
[  569.940014] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04400001
[  569.940031] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  633.927756] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 4 - ChHltd set, but reason is unknown
[  633.927792] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  698.421096] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 - ChHltd set, but reason is unknown
[  698.421129] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  762.200638] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 5 - ChHltd set, but reason is unknown
[  762.200670] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  762.200688] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  826.028979] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
[  826.029014] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  847.527258] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 - ChHltd set, but reason is unknown
[  847.527298] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  848.560559] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 - ChHltd set, but reason is unknown
[  848.560594] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
[  848.560611] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  849.600563] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
[  849.600595] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
[  850.641336] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 4 - ChHltd set, but reason is unknown
[  850.641376] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x06600001
[  851.680559] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 5 - ChHltd set, but reason is unknown
[  851.680593] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
[  851.680610] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[  852.720711] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 6 - ChHltd set, but reason is unknown
[  852.720745] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600001
[  889.128928] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 1 - ChHltd set, but reason is unknown
[  889.128965] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
[  953.292663] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 3 - ChHltd set, but reason is unknown
[  953.292696] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
[  953.292712] dwc2 3f980000.usb: dwc2_update_urb_state_abn(): trimming xfer length
[ 1018.291214] dwc2 3f980000.usb: dwc2_hc_chhltd_intr_dma: Channel 7 - ChHltd set, but reason is unknown
[ 1018.301310] dwc2 3f980000.usb: hcint 0x00000002, intsts 0x04600009
Comment 9 Miroslav Beneš 2022-02-11 11:50:10 UTC
So there is no warning now (which corresponds to the following in the code

  /*
   * We assume that DMA is always aligned in non-split
   * case or split out case. Warn if not.
   */
  WARN_ON_ONCE(hsotg->params.host_dma &&
               (chan->xfer_dma & 0x3));
  chan->align_buf = 0;

), but dwc2 still reports problems and it does not work.

CCing Oliver and Ivan.
Comment 10 Stefan Wahren 2022-07-03 10:13:42 UTC
Hi,
i remember these kind of issue and AFAIK this should be fixed in the USB device driver. The best would be to reproduce this issue with a recent kernel and report the issue to linux-usb and the dwc2 & cdc_ether maintainers.