• navin patidar's avatar
    staging: usbip: vhci_hcd: fixed suspend-resume loop · 107f04bb
    navin patidar authored
    USB autosuspend suspends vhci_hcd. In this process hcd_bus_suspend gets
    executed which puts vhci_hcd in suspend state and calls vhci_hub_status.
    vhci_hub_status function checks hub state and if it is in suspend state,
    usb_hcd_resume_root_hub gets executed which resumes hub and if hub is
    idle, again autosuspend puts it in suspend state and this goes on.
    
    vhci_hub_status should resume hub only when hub port is in suspend state
    and hub port status has changed.
    Signed-off-by: default avatarnavin patidar <navinp@cdac.in>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    107f04bb
vhci_hcd.c 29.5 KB