USB port resume can take 60 seconds in worst case scenario

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The current implementation of usb_port_resume (usb_reset_and_verify_device()) can take up-to 60 secs in worst-case scenario if the device (let's say the device went bad and is unresponsive to any setup packets) connected went into runtime suspend and resumed back. Is it fine to have a configurable upper bound? Since it can induce delay in the overall system resume if the host is waking up from PM suspend.

[USB port resume in worst case ]

usb_port_resume()
finish_port_resume()
usb_get_std_status()
usb_get_status()
USB_CTRL_GET_TIMEOUT : 5 sec


usb_reset_and_verify_device()
SET_CONFIG_TRIES 3 (use_new_scheme: 2 /old scheme: 1)
hub_port_init()
GET_DESCRIPTOR_TRIES 2
operations < 3

    2*2*3 (12) * 5(USB_CTRL_GET_TIMEOUT) = 60 sec


Thanks,

Pratham




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux