AM623: open mcu_canx result crash in SDK10

Part Number: AM623
Other Parts Discussed in Thread: SK-AM62B

Tool/software:

With latest SDK10 default wic file, on SK-AM62B board, just open mcu_can, system will crash in short. log as below

Iti is fine on SDK9. x

root@am62xx-evm:~# dmesg |grep can
[    0.674889] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.674897] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.674908] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.674915] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    6.902241] m_can_platform 4e08000.can: m_can device registered (irq=0, version=32)
[    6.933853] m_can_platform 4e18000.can: m_can device registered (irq=0, version=32)
[    6.973611] m_can_platform 20701000.can: m_can device registered (irq=422, version=32)
[    7.755492] m_can_platform 4e18000.can mcu_mcan1: renamed from can1
[    7.771815] m_can_platform 4e08000.can mcu_mcan0: renamed from can0
[    7.817488] m_can_platform 20701000.can main_mcan0: renamed from can2
root@am62xx-evm:~# ip link set mcu_mcan0 type can bitrate 1000000 dbitrate 5000000 fd on
root@am62xx-evm:~# ip link set mcu_mcan0 up
root@am62xx-evm:~# candump mcu_mcan0
[  139.017058] rcu: INFO: rcu_preempt self-detected stall on CPU
[  139.017081] rcu:     1-...!: (22332 ticks this GP) idle=86ec/1/0x4000000000000002 softirq=                    /0 fqs=1
[  139.017094] rcu:     (t=21000 jiffies g=9913 q=98 ncpus=4)
[  139.017099] rcu: rcu_preempt kthread timer wakeup didn't happen for 20993 jiffies! g9913 f                    x0 RCU_GP_WAIT_FQS(5) ->state=0x402
[  139.017106] rcu:     Possible timer handling issue on cpu=1 timer-softirq=2324
[  139.017110] rcu: rcu_preempt kthread starved for 20996 jiffies! g9913 f0x0 RCU_GP_WAIT_FQS                    5) ->state=0x402 ->cpu=1
[  139.017116] rcu:     Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expec                    ed behavior.
[  139.017119] rcu: RCU grace-period kthread stack dump:
[  139.017122] task:rcu_preempt     state:I stack:0     pid:16    ppid:2      flags:0x0000000
[  139.017136] Call trace:
[  139.017140]  0xffff8000809c7874
[  139.017144]  0xffff8000809c7b64
[  139.017147]  0xffff8000809c7f48
[  139.017150]  0xffff8000809cfad8
[  139.017153]  0xffff80008009ca78
[  139.017156]  0xffff80008009fc90
[  139.017159]  0xffff800080059878
[  139.017162]  0xffff800080014870
[  139.017166] rcu: Stack dump where RCU GP kthread last ran:
[  139.017174] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G           O       6.6.32-rt32-ti-rt-g                    4a9ad081f0f-dirty #1
[  139.017181] Hardware name: Texas Instruments AM625 SK (DT)
[  139.017185] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  139.017192] pc : 0xffff8000809c3c5c
[  139.017195] lr : 0xffff8000809c3c58
[  139.017198] sp : ffff0000001c7e30
[  139.017200] x29: ffff0000001c7e30 x28: 0000000000000000 x27: 0000000000000000
[  139.017210] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[  139.017218] x23: 0000000000000000 x22: ffff00000017e9c0 x21: ffff800080e4ba7c
[  139.017227] x20: ffff800080e4b980 x19: 0000000000000001 x18: 0000000000000000
[  139.017236] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[  139.017244] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[  139.017253] x11: 0000000000000000 x10: 00000000000008c0 x9 : ffff0000001c7d90
[  139.017261] x8 : ffff00000017f2e0 x7 : 00000000000000c0 x6 : ffff00007f66bd98
[  139.017270] x5 : ffff800080cb9db0 x4 : 0000000000000000 x3 : ffff7ffffe9b2000
[  139.017279] x2 : 0000000000000001 x1 : ffff0000001c7e10 x0 : 4000000000000000
[  139.017288] Call trace:
[  139.017290]  0xffff8000809c3c5c
[  139.017293]  0xffff800080073f84
[  139.017296]  0xffff800080074198
[  139.017299]  0xffff80008001cd84
[  139.017302]  0xffff800080022ac8
[  139.017310] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G           O       6.6.32-rt32-ti-rt-g                    4a9ad081f0f-dirty #1
[  139.017317] Hardware name: Texas Instruments AM625 SK (DT)
[  139.017319] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  139.017325] pc : 0xffff8000809c3c5c
[  139.017328] lr : 0xffff8000809c3c58
[  139.017331] sp : ffff0000001c7e30
[  139.017333] x29: ffff0000001c7e30 x28: 0000000000000000 x27: 0000000000000000
[  139.017342] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000
[  139.017351] x23: 0000000000000000 x22: ffff00000017e9c0 x21: ffff800080e4ba7c
[  139.017360] x20: ffff800080e4b980 x19: 0000000000000001 x18: 0000000000000000
[  139.017368] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[  139.017377] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[  139.017385] x11: 0000000000000000 x10: 00000000000008c0 x9 : ffff0000001c7d90
[  139.017394] x8 : ffff00000017f2e0 x7 : 00000000000000c0 x6 : ffff00007f66bd98
[  139.017402] x5 : ffff800080cb9db0 x4 : 0000000000000000 x3 : ffff7ffffe9b2000
[  139.017411] x2 : 0000000000000001 x1 : ffff0000001c7e10 x0 : 4000000000000000
[  139.017420] Call trace:
[  139.017422]  0xffff8000809c3c5c
[  139.017425]  0xffff800080073f84
[  139.017428]  0xffff800080074198
[  139.017430]  0xffff80008001cd84
[  139.017433]  0xffff800080022ac8

root@am62xx-evm:~# dmesg |grep can
[    0.498062] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.498070] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.498077] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.498085] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    7.212447] m_can_platform 4e08000.can: m_can device registered (irq=0, version=32)
[    7.227433] m_can_platform 4e18000.can: m_can device registered (irq=0, version=32)
[    7.242693] m_can_platform 20701000.can: m_can device registered (irq=422, version=32)
[    8.013780] m_can_platform 4e18000.can mcu_mcan1: renamed from can1
[    8.028649] m_can_platform 4e08000.can mcu_mcan0: renamed from can0
[    8.049921] m_can_platform 20701000.can main_mcan0: renamed from can2
root@am62xx-evm:~#
root@am62xx-evm:~# ip link set mcu_mcan1 type can bitrate 1000000 dbitrate 5000000 fd on
root@am62xx-evm:~# ip link set mcu_mcan1 up
root@am62xx-evm:~#
[  292.334829] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[  292.334851] rcu:     Tasks blocked on level-0 rcu_node (CPUs 0-3): P33/3:b..l
[  292.334871] rcu:     (detected by 1, t=21002 jiffies, g=10953, q=37 ncpus=4)
[  292.334879] task:ktimers/2       state:D stack:0     pid:33    ppid:2      flags:0x00000008
[  292.334889] Call trace:
[  292.334893]  0xffff8000809c7874
[  292.334898]  0xffff8000809c7b64
[  292.334901]  0xffff8000809c84b8
[  292.334904]  0xffff8000809cdf58
[  292.334907]  0xffff8000809ce810
[  292.334910]  0xffff8000800b2720
[  292.334913]  0xffff8000800b27ac
[  292.334916]  0xffff8000790dd604
[  292.334919]  0xffff8000790dd640
[  292.334922]  0xffff8000800b1928
[  292.334924]  0xffff8000800b1f00
[  292.334927]  0xffff8000800102c0
[  292.334930]  0xffff80008003c050
[  292.334933]  0xffff80008005efb4
[  292.334936]  0xffff800080059878
[  292.334939]  0xffff800080014870

It is ok with main_can

root@am62xx-evm:~# dmesg |grep can
[    0.674682] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.674690] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.674697] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.674710] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    7.251485] m_can_platform 4e08000.can: m_can device registered (irq=0, version=32)
[    7.303449] m_can_platform 4e18000.can: m_can device registered (irq=0, version=32)
[    7.325038] m_can_platform 20701000.can: m_can device registered (irq=422, version=32)
[    8.279292] m_can_platform 4e08000.can mcu_mcan0: renamed from can0
[    8.340323] m_can_platform 4e18000.can mcu_mcan1: renamed from can1
[    8.357951] m_can_platform 20701000.can main_mcan0: renamed from can2
root@am62xx-evm:~#
root@am62xx-evm:~# ip link set main_mcan0 type can bitrate 1000000 dbitrate 5000000 fd on
root@am62xx-evm:~# ip link set main_mcan0 up
root@am62xx-evm:~#
root@am62xx-evm:~#
root@am62xx-evm:~# uname -a
Linux am62xx-evm 6.6.32-rt32-ti-rt-g04a9ad081f0f-dirty #1 SMP PREEMPT_RT Fri Jul 26 14:42:37 UTC 2024 aarch64 GNU/Linux
root@am62xx-evm:~#