lkml.org 
[lkml]   [2022]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectnet: stmmac: dwmac-imx: half duplex crash
Date
Hi there

We lately tried operating the IMX8MPEVK ENET_QOS imx-dwmac driver in half-duplex modes which crashes as
follows:

root@imx8mpevk:~# uname -a
Linux imx8mpevk 5.18.0-rc2-next-20220413-00006-gc741306ff2ed #4 SMP PREEMPT Wed Apr 13 15:08:36 CEST 2022
aarch64 aarch64 aarch64 GNU/Linux
root@imx8mpevk:~# ethtool -s eth1 advertise 0x004
[ 469.685304] imx-dwmac 30bf0000.ethernet eth1: Link is Down
[ 469.703528] kauditd_printk_skb: 1 callbacks suppressed
[ 469.703539] audit: type=1334 audit(1650754238.319:23): prog-id=17 op=LOAD
[ 469.715602] audit: type=1334 audit(1650754238.327:24): prog-id=18 op=LOAD
[ 472.737884] imx-dwmac 30bf0000.ethernet eth1: Link is Up - 100Mbps/Half - flow control off
[ 472.746205] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
[ 478.080481] ------------[ cut here ]------------
[ 478.085134] NETDEV WATCHDOG: eth1 (imx-dwmac): transmit queue 1 timed out
[ 478.091985] WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:529 dev_watchdog+0x200/0x210
[ 478.100269] Modules linked in: 8021q garp mrp stp llc overlay bluetooth ecdh_generic ecc rfkill caam_jr
caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes dwmac_imx stmmac_platform imx_sdma
crct10dif_ce fsl_imx8_ddr_perf stmmac pcs_xpcs etnaviv gpu_sched flexcan caam snvs_pwrkey error can_dev
rtc_snvs imx_cpufreq_dt imx8mm_thermal fuse drm ipv6
[ 478.132142] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 5.18.0-rc2-next-20220413-00006-gc741306ff2ed #4
[ 478.141364] Hardware name: NXP i.MX8MPlus EVK board (DT)
[ 478.146676] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 478.153644] pc : dev_watchdog+0x200/0x210
[ 478.157662] lr : dev_watchdog+0x200/0x210
[ 478.161680] sp : ffff80000a3b3a70
[ 478.164992] x29: ffff80000a3b3a70 x28: 0000000000000005 x27: ffff800008e57600
[ 478.172140] x26: ffff800009ef79c0 x25: ffff00017f3c7fe8 x24: ffff80000a3b3b40
[ 478.179283] x23: ffff800009ef7000 x22: 0000000000000001 x21: ffff0000c4cc039c
[ 478.186428] x20: ffff0000c4cc0000 x19: ffff0000c4cc0448 x18: 0000000000000030
[ 478.193571] x17: ffff800175a13000 x16: ffff80000a2e4000 x15: ffffffffffffffff
[ 478.200713] x14: ffff800009f12388 x13: 00000000000004ec x12: 00000000000001a4
[ 478.207860] x11: 712074696d736e61 x10: ffff800009f6a388 x9 : 00000000fffff000
[ 478.215003] x8 : ffff800009f12388 x7 : 0000000000000003 x6 : 0000000000000000
[ 478.222146] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[ 478.229294] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000c01a0000
[ 478.236439] Call trace:
[ 478.238886] dev_watchdog+0x200/0x210
[ 478.242556] call_timer_fn.constprop.0+0x24/0x80
[ 478.247182] __run_timers.part.0+0x1f4/0x23c
[ 478.251454] run_timer_softirq+0x3c/0x7c
[ 478.255384] __do_softirq+0x124/0x2a0
[ 478.259047] __irq_exit_rcu+0xe4/0x100
[ 478.262804] irq_exit_rcu+0x10/0x1c
[ 478.266300] el1_interrupt+0x38/0x70
[ 478.269881] el1h_64_irq_handler+0x18/0x24
[ 478.273988] el1h_64_irq+0x64/0x68
[ 478.277393] arch_cpu_idle+0x18/0x2c
[ 478.280969] default_idle_call+0x24/0x6c
[ 478.284900] do_idle+0x22c/0x29c
[ 478.288133] cpu_startup_entry+0x28/0x30
[ 478.292065] secondary_start_kernel+0x140/0x164
[ 478.296600] __secondary_switched+0xa0/0xa4
[ 478.300789] ---[ end trace 0000000000000000 ]---
[ 478.305451] imx-dwmac 30bf0000.ethernet eth1: Reset adapter.
[ 478.332901] imx-dwmac 30bf0000.ethernet eth1: FPE workqueue stop
[ 478.339233] imx-dwmac 30bf0000.ethernet eth1: Timeout accessing MAC_VLAN_Tag_Filter
[ 478.346962] imx-dwmac 30bf0000.ethernet eth1: failed to kill vid 0081/0
[ 478.556494] imx-dwmac 30bf0000.ethernet eth1: PHY [stmmac-1:01] driver [RTL8211F Gigabit Ethernet]
(irq=POLL)
[ 478.736560] imx-dwmac 30bf0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 478.744388] imx-dwmac 30bf0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-1
[ 478.752222] imx-dwmac 30bf0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-2
[ 478.760126] imx-dwmac 30bf0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-3
[ 478.767951] imx-dwmac 30bf0000.ethernet eth1: Register MEM_TYPE_PAGE_POOL RxQ-4
[ 478.784520] imx-dwmac 30bf0000.ethernet eth1: No Safety Features support found
[ 478.791787] imx-dwmac 30bf0000.ethernet eth1: IEEE 1588-2008 Advanced Timestamp supported
[ 478.800227] imx-dwmac 30bf0000.ethernet eth1: registered PTP clock
[ 478.806610] imx-dwmac 30bf0000.ethernet eth1: FPE workqueue start
[ 478.812774] imx-dwmac 30bf0000.ethernet eth1: configuring for phy/rgmii-id link mode
[ 478.848739] 8021q: adding VLAN 0 to HW filter on device eth1

Does anybody have any experience in running dwmac in half-duplex mode? Any suggestions?

BTW: It also crashes the same way running NXP's latest downstream LF5.15.5_1.0.0 which I reported here [1].

[1]
https://community.nxp.com/t5/i-MX-Processors/IMX8MPEVK-ENET-QOS-imx-dwmac-Half-Duplex-Crashes/m-p/1448085#M189597

Cheers

Marcel
\
 
 \ /
  Last update: 2022-04-24 01:00    [W:0.052 / U:3.988 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site