USB3 clock already disabled/unprepared with hibernate

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

USB3 clock already disabled/unprepared with hibernate

393 次查看
ripplejr
Contributor II

I'm working with an i.MX8QXP RevC A35 with the 5.15.32_2.0.0 BSP. I'm encountering a usb3 warning when going into hibernate that says the usb3 clks are already disabled/unprepared. After tracing the stack call it looks like usb3 clocks are disabled twice during hibernation. Once with runtime suspend and again with dpm suspend. I suspect it comes from line 406 in drivers/usb/cdns3/cdns3-imx.c since the runtime and system suspend functions are the same (cdns_imx_suspend).

static const struct dev_pm_ops cdns_imx_pm_ops = {
    SET_RUNTIME_PM_OPS(cdns_imx_suspend, cdns_imx_resume, NULL)
    SET_SYSTEM_SLEEP_PM_OPS(cdns_imx_suspend, cdns_imx_system_resume)
};

 

Steps to reproduce.

1. Have the kernel built with

CONFIG_USB=y

CONFIG_USB_CDNS_SUPPORT=m

2. Once booted and with a usb3 device plugged in

pm-hibernate

 

I've uploaded two logs, the usb3 clk stack trace log I inserted code to show a stack trace every time usb3_core_pclk is disabled/enabled/unprepared in clk.c. This shows that the system tries to disable the clock twice. The usb3 stack trace log shows the default behavior where various usb3 clocks are getting a warning when hibernating.

0 项奖励
回复
0 回复数