Hello Peter, Am Dienstag, 15. März 2022, 02:23:23 CEST schrieb Peter Chen: > On Wed, Mar 2, 2022 at 5:42 PM Alexander Stein > > <alexander.stein@xxxxxxxxxxxxxxx> wrote: > > With the add of power-domain support in commit 02f8eb40ef7b ("ARM: dts: > > imx7s: Add power domain for imx7d HSIC") runtime suspend will disable > > the power-domain. This prevents IRQs to occur when a new device is > > attached > > on a downstream hub. > > > > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> > > --- > > Our board TQMa7x + MBa7x (i.MX7 based) uses a HSIC link to mounted USB HUB > > on usbh device. Cold plugging an USB mass storage device is working fine. > > But once the last non-HUB device is disconnected the ci_hdrc device goes > > into runtime suspend. > > Would you please show the difference between cold boot and runtime > suspend after disconnecting > the last USB device? > > - Power domain on/off status for HUB device > - Runtime suspend status at /sys entry for HUB device > - "/sys/..power/wakeup" /sys entry for HUB device I hope I got all entries you requested. For reference this is the bus topology: lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M Bus 2 is a different connector and doesn't matter here. I'm disconnecting 'Dev 3' in this scenario. After boot up with the bus as shown above: $ cat /sys/bus/usb/devices/1-1/power/wakeup disabled $ cat /sys/bus/usb/devices/1-1/power/runtime_status active $ cat /sys/kernel/debug/pm_genpd/usb-hsic-phy/current_state on After disconnecting Dev 3 from the bus ('usb 1-1.2: USB disconnect, device number 3' in dmesg) the status changes as follows (without the patch): $ cat /sys/bus/usb/devices/1-1/power/wakeup disabled $ cat /sys/bus/usb/devices/1-1/power/runtime_status suspended $ cat /sys/kernel/debug/pm_genpd/usb-hsic-phy/current_state off-0 For the record, when applying the posted patch this changes into: $ cat /sys/bus/usb/devices/1-1/power/wakeup disabled $ cat /sys/bus/usb/devices/1-1/power/runtime_status suspended $ cat /sys/kernel/debug/pm_genpd/usb-hsic-phy/current_state on Regards, Alexander