LF-3712 net: stmmac: fix kernel dump when system suspend if EQOS down
Fix kernel dump when system suspend if EQOS down:
[ 136.705424] ------------[ cut here ]------------
[ 136.705428] enet_qos_root_clk already disabled
[ 136.705466] WARNING: CPU: 0 PID: 503 at drivers/clk/clk.c:952 clk_core_disable+0xa0/0xa8
[ 136.705468] Modules linked in:
[ 136.705476] CPU: 0 PID: 503 Comm: sh Not tainted
5.10.29-103840-g470aa06b5004 #1064
[ 136.705478] Hardware name: NXP i.MX8MPlus EVK board (DT)
[ 136.705482] pstate:
40000085 (nZcv daIf -PAN -UAO -TCO BTYPE=--)
[ 136.705485] pc : clk_core_disable+0xa0/0xa8
[ 136.705488] lr : clk_core_disable+0xa0/0xa8
[ 136.705490] sp :
ffff800012433a10
[ 136.705492] x29:
ffff800012433a10 x28:
ffff800011aafd68
[ 136.705496] x27:
0000000000000000 x26:
ffff800010784040
[ 136.705500] x25:
ffff800011ba0000 x24:
0000001fd4235124
[ 136.705504] x23:
0000000000000000 x22:
ffff800011b4e000
[ 136.705508] x21:
ffff0000c0defe00 x20:
ffff0000c0addb00
[ 136.705513] x19:
ffff0000c0addb00 x18:
ffff0000c74f44c0
[ 136.705516] x17:
0000000000000000 x16:
0000000000000000
[ 136.705520] x15:
0000000000000000 x14:
00000000000000fe
[ 136.705524] x13:
ffff8000119f1650 x12:
0000000000000001
[ 136.705528] x11:
0000000000000000 x10:
00000000000009d0
[ 136.705532] x9 :
00000000fffffffe x8 :
646165726c61206b
[ 136.705536] x7 :
6c635f746f6f725f x6 :
ffff800012433728
[ 136.705540] x5 :
ffff00017f36f900 x4 :
0000000000000000
[ 136.705544] x3 :
0000000000000027 x2 :
0000000000000023
[ 136.705548] x1 :
5d31c447452a7300 x0 :
0000000000000000
[ 136.705552] Call trace:
[ 136.705556] clk_core_disable+0xa0/0xa8
[ 136.705560] clk_core_disable_lock+0x20/0x38
[ 136.705563] clk_disable+0x1c/0x28
[ 136.705568] stmmac_bus_clks_enable+0x4c/0xf0
[ 136.705572] stmmac_noirq_suspend+0x38/0x50
[ 136.705578] dpm_run_callback.isra.0+0x38/0xd8
[ 136.705582] __device_suspend_noirq+0xc4/0x1b8
[ 136.705584] dpm_suspend_noirq+0x100/0x258
[ 136.705588] suspend_devices_and_enter+0x160/0x5b8
[ 136.705591] pm_suspend+0x2ec/0x350
[ 136.705595] state_store+0x88/0x108
[ 136.705599] kobj_attr_store+0x14/0x28
[ 136.705603] sysfs_kf_write+0x40/0x50
[ 136.705606] kernfs_fop_write_iter+0x110/0x1a0
[ 136.705610] new_sync_write+0xe4/0x178
[ 136.705613] vfs_write+0x24c/0x380
[ 136.705616] ksys_write+0x68/0xf0
[ 136.705619] __arm64_sys_write+0x18/0x20
[ 136.705625] el0_svc_common.constprop.0+0x68/0x160
[ 136.705628] do_el0_svc+0x20/0x80
[ 136.705632] el0_svc+0x10/0x18
[ 136.705635] el0_sync_handler+0xa8/0xb0
[ 136.705639] el0_sync+0x140/0x180
[ 136.705641] ---[ end trace
f87fd1287132338e ]---
[ 136.705644] ------------[ cut here ]------------
[ 136.705645] enet_qos_root_clk already unprepared
[ 136.705667] WARNING: CPU: 0 PID: 503 at drivers/clk/clk.c:810 clk_core_unprepare+0xe0/0x100
[ 136.705669] Modules linked in:
[ 136.705674] CPU: 0 PID: 503 Comm: sh Tainted: G W
5.10.29-103840-g470aa06b5004 #1064
[ 136.705675] Hardware name: NXP i.MX8MPlus EVK board (DT)
[ 136.705678] pstate:
40000005 (nZcv daif -PAN -UAO -TCO BTYPE=--)
[ 136.705681] pc : clk_core_unprepare+0xe0/0x100
[ 136.705684] lr : clk_core_unprepare+0xe0/0x100
[ 136.705686] sp :
ffff800012433a20
[ 136.705688] x29:
ffff800012433a20 x28:
ffff800011aafd68
[ 136.705692] x27:
0000000000000000 x26:
ffff800010784040
[ 136.705696] x25:
ffff800011ba0000 x24:
0000001fd4235124
[ 136.705700] x23:
0000000000000000 x22:
ffff800011b4e000
[ 136.705704] x21:
ffff0000c0defe00 x20:
ffff0000c0e40940
[ 136.705708] x19:
ffff0000c0addb00 x18:
ffff0000c74f44c0
[ 136.705712] x17:
0000000000000000 x16:
0000000000000000
[ 136.705716] x15:
0000000000000000 x14:
00000000000000fe
[ 136.705720] x13:
ffff8000119f1650 x12:
0000000000000001
[ 136.705724] x11:
0000000000000000 x10:
00000000000009d0
[ 136.705728] x9 :
00000000fffffffe x8 :
646165726c61206b
[ 136.705731] x7 :
6c635f746f6f725f x6 :
ffff800012433738
[ 136.705735] x5 :
ffff00017f36f900 x4 :
0000000000000000
[ 136.705739] x3 :
0000000000000027 x2 :
0000000000000023
[ 136.705743] x1 :
5d31c447452a7300 x0 :
0000000000000000
[ 136.705747] Call trace:
[ 136.705751] clk_core_unprepare+0xe0/0x100
[ 136.705754] clk_unprepare+0x28/0x40
[ 136.705757] stmmac_bus_clks_enable+0x58/0xf0
[ 136.705760] stmmac_noirq_suspend+0x38/0x50
[ 136.705764] dpm_run_callback.isra.0+0x38/0xd8
[ 136.705767] __device_suspend_noirq+0xc4/0x1b8
[ 136.705770] dpm_suspend_noirq+0x100/0x258
[ 136.705772] suspend_devices_and_enter+0x160/0x5b8
[ 136.705775] pm_suspend+0x2ec/0x350
[ 136.705778] state_store+0x88/0x108
[ 136.705781] kobj_attr_store+0x14/0x28
[ 136.705784] sysfs_kf_write+0x40/0x50
[ 136.705786] kernfs_fop_write_iter+0x110/0x1a0
[ 136.705789] new_sync_write+0xe4/0x178
[ 136.705792] vfs_write+0x24c/0x380
[ 136.705795] ksys_write+0x68/0xf0
[ 136.705798] __arm64_sys_write+0x18/0x20
[ 136.705801] el0_svc_common.constprop.0+0x68/0x160
[ 136.705804] do_el0_svc+0x20/0x80
[ 136.705807] el0_svc+0x10/0x18
[ 136.705810] el0_sync_handler+0xa8/0xb0
[ 136.705812] el0_sync+0x140/0x180
[ 136.705814] ---[ end trace
f87fd1287132338f ]---
Fixes:
0ad8ae3531f2 LF-3101-1 net: stmmac: fix system hang caused by eee_ctrl_timer during suspend/resume
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>