AM623: 以太网低概率出现故障

Part Number: AM623
Other Parts Discussed in Thread: AM625

使用时低概率出现以太网连接不上的现象,复现手法:

连接以太网口->板子上电-->系统运行-->登录ssh-->板子下电-->板子上电. 
复现问题时内核打印
[ 24.472533] qmi_wwan_q 1-1:1.4 wwan0: unregister 'qmi_wwan_q' usb-xhci-hcd.0.auto-1, WWAN/QMI Raw IP device
[ 31.070342] ------------[ cut here ]------------
[ 31.070368] NETDEV WATCHDOG: eth0 (am65-cpsw-nuss): transmit queue 0 timed out
[ 31.070460] WARNING: CPU: 1 PID: 22 at net/sched/sch_generic.c:467 dev_watchdog+0x374/0x380
[ 31.070493] Modules linked in: can_raw xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c xt_multiport ipt_REJECT nf_reject_ipv4 xt_limit xt_tcpudp iptable_filter ip_tables x_tables qmi_wwan_q tpc5120 cdc_wdm option usbnet usb_wwan mii usbserial ipv6 xhci_plat_hcd xhci_hcd usbcore rpmsg_char rpmsg_client_sample dwc3 udc_core roles usb_common cdns_csi2rx v4l2_fwnode virtio_rpmsg_bus pru_rproc irq_pruss_intc crct10dif_ce phy_can_transceiver brcmfmac cfg80211 brcmutil rfkill dwc3_am62 ti_k3_r5_remoteproc ti_k3_m4_remoteproc j721e_csi2rx videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 sa2ul videobuf2_common pruss cdns_dphy sha512_generic mcrc authenc optee_rng rng_core [last unloaded: qmi_wwan_q]
[ 31.070676] CPU: 1 PID: 22 Comm: ksoftirqd/1 Not tainted 5.10.168-rt83-g5e8d162f0c8c #1
[ 31.070683] Hardware name: Texas Instruments AM625 SK (DT)
[ 31.070689] pstate: 40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
[ 31.070696] pc : dev_watchdog+0x374/0x380
[ 31.070703] lr : dev_watchdog+0x374/0x380
[ 31.070715] sp : ffff800011363c20
[ 31.070717] x29: ffff800011363c20 x28: ffff000001c98b00
[ 31.070725] x27: 0000000000000004 x26: 0000000000000180
[ 31.070731] x25: 00000000ffffffff x24: 0000000000000001
[ 31.070738] x23: ffff00000178f3e0 x22: ffff00000178f000
[ 31.070745] x21: ffff00000178f4b0 x20: ffff800011019000
[ 31.070751] x19: 0000000000000000 x18: 0000000000000000
[ 31.070761] x17: 0000000000000000 x16: 0000000000000000
[ 31.070767] x15: ffff00000010df60 x14: ffffffffffffffff
[ 31.070774] x13: ffff80001114653e x12: ffff800011146531
[ 31.070781] x11: 0000000000000000 x10: ffff800011040da0
[ 31.070787] x9 : 00000000fffffffe x8 : 6575657571207469
[ 31.070794] x7 : 6d736e617274203a x6 : ffff800011363a70
[ 31.070801] x5 : ffff00003fdc3b38 x4 : 0000000000000000
[ 31.070809] x3 : 0000000000000027 x2 : 0000000100000000
[ 31.070816] x1 : b6f39a9f09762a00 x0 : 0000000000000000
[ 31.070823] Call trace:
[ 31.070827] dev_watchdog+0x374/0x380
[ 31.070834] call_timer_fn.isra.0+0x24/0x80
[ 31.070854] run_timer_softirq+0x4d4/0x548
[ 31.070862] efi_header_end+0x110/0x214
[ 31.070871] run_ksoftirqd+0x50/0xb8
[ 31.070878] smpboot_thread_fn+0x2e4/0x330
[ 31.070886] kthread+0x174/0x198
[ 31.070901] ret_from_fork+0x10/0x30
[ 31.070910] ---[ end trace 0000000000000002 ]---
[ 32.093040] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:6908 dql_avail:-16 free_desc:505
[ 34.150328] rcu: INFO: rcu_preempt self-detected stall on CPU
[ 34.150352] rcu: 0-....: (1 GPs behind) idle=93e/1/0x4000000000000002 softirq=0/0 fqs=2484
[ 34.150373] (t=5251 jiffies g=3293 q=139706)
[ 34.150381] Task dump for CPU 0:
[ 34.150385] task:irq/46-tidss state:R running task stack: 0 pid: 131 ppid: 2 flags:0x0000002a
[ 34.150400] Call trace:
[ 34.150402] dump_backtrace+0x0/0x1b0
[ 34.150433] show_stack+0x18/0x38
[ 34.150442] sched_show_task+0x150/0x178
[ 34.150452] dump_cpu_task+0x44/0x54
[ 34.150471] rcu_dump_cpu_stacks+0xb8/0xfc
[ 34.150479] rcu_sched_clock_irq+0x9dc/0xd20
[ 34.150487] update_process_times+0x60/0xa0
[ 34.150500] tick_sched_handle.isra.0+0x34/0x50
[ 34.150514] tick_sched_timer+0x4c/0xa8
[ 34.150521] __hrtimer_run_queues+0x128/0x210
[ 34.150527] hrtimer_interrupt+0xe8/0x248
[ 34.150533] arch_timer_handler_phys+0x34/0x48
[ 34.150544] handle_percpu_devid_irq+0x84/0x148
[ 34.150561] generic_handle_irq+0x30/0x48
[ 34.150568] __handle_domain_irq+0x64/0xc0
[ 34.150574] gic_handle_irq+0x58/0x128
[ 34.150584] el1_irq+0xcc/0x180
[ 34.150594] dispc_k3_clear_irqstatus+0x17c/0x198
[ 34.150606] dispc_read_and_clear_irqstatus+0x104/0x1e0
[ 34.150613] tidss_irq_handler+0x28/0x148
[ 34.150622] irq_forced_thread_fn+0x3c/0xd0
[ 34.150630] irq_thread+0x194/0x2b8
[ 34.150638] kthread+0x174/0x198
[ 34.150648] ret_from_fork+0x10/0x30
[ 36.958357] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:11776 dql_avail:-16 free_desc:505
[ 42.078368] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:16896 dql_avail:-16 free_desc:505
[ 46.942368] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:21760 dql_avail:-16 free_desc:505
[ 52.062357] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:26880 dql_avail:-16 free_desc:505
[ 57.182365] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:32000 dql_avail:-16 free_desc:505
[ 63.070363] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:37888 dql_avail:-16 free_desc:505
[ 67.934364] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:42752 dql_avail:-16 free_desc:505
[ 73.054360] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:47872 dql_avail:-16 free_desc:505
[ 78.174364] am65-cpsw-nuss 8000000.ethernet eth0: txq:0 DRV_XOFF:0 tmo:52992 dql_avail:-16 free_desc:505