On Fri, 5 Oct 2012, Sarah Sharp wrote:

> One way we could work around these broken devices is have a dynamic
> black list of device vendor and product IDs that shouldn't have LPM
> enabled.  We already have such a black list in the xHCI driver for
> devices that don't handle USB 2.0 LPM.
> 
> My idea is to add the device to the black list if USB core control
> transfers start timing out, or any URBs complete with transfer errors.
> That way when the device reconnects (as the SIIG hub does), we won't
> enable LPM again.  The SIIG hub stops responding to the second control
> transfer needed to enable LPM (Set Feature Device initiated LPM), so we
> catch the failure pretty early on in the enumeration process.
> 
> The other option is to just create a sysfs file for USB 3.0 link PM,
> turn it off by default, and leave it up to userspace.  But that means
> basically no one will have it enabled.  So I'd like to pursue a dynamic
> option in the kernel.

We could add a USB_QUIRK_NO_LPM flag and put a static entry for the 
SIIG hub (and maybe other broken devices) in quirks.c.  xhci-hcd could 
set this flag when it sees control transfers timing out or other 
transfer errors.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to