This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM64B: ICSSG PRU eth driver : eth0 Netdev watchdog kernel crash

Part Number: SK-AM64B

Tool/software:

Hi,

The TI-SDK version used id 09.02.01.10

We observed a kernel crash when the ICSSG PRU eth driver is running on the MII mode. The SK-AM64B EVB is interfaced with the Microchip KSZ9477 EVB over MII interface . The ICSSG1 emac is defined in the dts and also able to get the eth0 and eth1 interface upon kernel booting. At present the eth1 (icssg_emac1) is connected to the Port 6 of KSZ9677 ethernet switch IC . 

Want to know if this crash is a know issue (a bug to be fixed in the next SDK release - SDK version 10 is also having this crash) . The snap shot of the crash is shared below:

[  111.236909] ------------[ cut here ]------------
[  111.241586] NETDEV WATCHDOG: eth0 (icssg-prueth): transmit queue 0 timed out
[  111.241673] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:525 dev_watchdog+0x214/0x220
[  111.249953] Modules linked in: overlay wl18xx wlcore xhci_plat_hcd mac80211 libarc4 cfg80211 rfkill cdns3 cdns_usb_common irq_pruss_intc icssg_prueth crct10dif_ce pru_rproc hsr cdns3_ti icss_iep wlcore_sdio rti_wdt ti_k3_r5_remoteproc virtio_rpmsg_bus rpmsg_ns k3_j72xx_bandgap sa2ul ti_eqep pruss optee_rng counter rng_core pwm_tiecap fuse drm drm_panel_orientation_quirks ipv6
[  111.250098] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.1.83-ti-gc1c2f1971fbf #1
[  111.250110] Hardware name: Texas Instruments AM642 SK (DT)
[  111.250117] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  111.250127] pc : dev_watchdog+0x214/0x220
[  111.250138] lr : dev_watchdog+0x214/0x220
[  111.250148] sp : ffff800008003e30
[  111.250152] x29: ffff800008003e30 x28: 0000000000000005 x27: 0000000000000020
[  111.250167] x26: ffff800008a5e510 x25: ffff8000091d79c0 x24: ffff00007fb931a8
[  111.250182] x23: ffff8000091d7000 x22: 0000000000000000 x21: ffff0000049c839c
[  111.250197] x20: ffff0000049c8000 x19: ffff0000049c8448 x18: ffffffffffffffff
[  111.250212] x17: ffff800076b25000 x16: ffff800008000000 x15: ffff8000093239bc
[  111.250227] x14: ffffffffffffffff x13: ffff8000091f1540 x12: 00000000000004f5
[  111.250242] x11: 00000000000001a7 x10: ffff800009249540 x9 : ffff8000091f1540
[  111.250256] x8 : 00000000ffffefff x7 : ffff800009249540 x6 : 0000000000000000
[  111.250270] x5 : ffff00007fb92b60 x4 : 0000000000000040 x3 : 0000000000000001
[  111.250285] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff8000091e2ac0
[  111.250301] Call trace:
[  111.250307]  dev_watchdog+0x214/0x220
[  111.250319]  call_timer_fn.constprop.0+0x24/0x80
[  111.250333]  __run_timers.part.0+0x1f4/0x234
[  111.250342]  run_timer_softirq+0x3c/0x7c
[  111.250351]  _stext+0x124/0x28c
[  111.250361]  ____do_softirq+0x10/0x20
[  111.250370]  call_on_irq_stack+0x24/0x4c
[  111.250379]  do_softirq_own_stack+0x1c/0x30
[  111.250388]  __irq_exit_rcu+0xb4/0xe0
[  111.250398]  irq_exit_rcu+0x10/0x20
[  111.250406]  el1_interrupt+0x38/0x70
[  111.250418]  el1h_64_irq_handler+0x18/0x2c
[  111.250427]  el1h_64_irq+0x64/0x68
[  111.250435]  arch_cpu_idle+0x18/0x2c
[  111.250444]  default_idle_call+0x30/0x6c
[  111.250454]  do_idle+0x248/0x2c0
[  111.250467]  cpu_startup_entry+0x38/0x40
[  111.250478]  kernel_init+0x0/0x130
[  111.250488]  arch_post_acpi_subsys_init+0x0/0x18
[  111.250501]  start_kernel+0x650/0x694
[  111.250509]  __primary_switched+0xbc/0xc4
[  111.250520] ---[ end trace 0000000000000000 ]---

The ping and DHCP works without any errors even if this crash happen inbetween. The crash will occur after ~1 minute after the kernel boot and logged into the command promt .

Kindly suggest on this.

Regards,

Ankush