On Wed, 24 Oct 2018, Mayuresh Kulkarni wrote: > > > In such a case, since user-space is waiting in "new" ioctl, it is not > > > in position to queue a request to read-out the async event info. It > > > will be able to queue a request when the "new" ioctl returns which > > > will be "time-out" later (in this case). Due to auto-suspend > > > time-out's default's value of 2 sec, the user-space has to choose the > > > time-out to "new" ioctl > 2 sec. > > > > Not so. That "2 second" value can be adjusted by the user; it can be > > reduced to as little as 1 ms. > > > > Thanks for the tip. > > But an issue with changing the module-param "usb_autosuspend_delay" > is, the new value will be applicable to all USB devices connected > after that. This may or may-not be optimum. The usb_autosuspend_delay module parameter is merely a default. Each device has its own autosuspend timeout value in its .../power/autosuspend_delay_ms sysfs file. > I am not sure, but need to check if it is possible to set > "usb_autosuspend_delay" based on connected device as well as current > use-case running in the user-space we are targeting (which is > Android, FYI). It's possible that Android has made some changes to the way autosuspend is handled. Alan Stern