On Thu, Jul 23, 2015 at 10:17:38AM +0000, Vasudevan, Krishna PrasathX K wrote: > Hi, > > This mail is for RFC regarding the persist resume of some USB 2.0 devices, > > Problem Summary: Problem has been observed for some USB 2.0 devices while > resuming from sleep. When the USB “persist” feature is enabled through sysfs > it is expected to retain its previous mount point across sleep and resume > states, it works fine for most of the USB 2.0 mass storage devices, but for > some USB 2.0 pendrives such as (Transcend Jet flash 16 GB & Alcor micro > corporation) it seems to fail and re-enumeration happens resulting in > creation of new device data structure. This problem seems to be similar to > the problem faced with USB 3.0 devices which is mentioned in below link > > http://marc.info/?l=linux-usb&m=140566728011240&w=2 > > > > In the above mentioned link the problem is observed with USB 3.0 devices, but > in this case it is observed with USB 2.0 mass storage devices.While resuming > from sleep, a USB disconnect message and re enumeration messages are seen > resulting in the reset of “persist ” variable in sysfs. > > > > In the above mentioned link a fix is proposed and that patch was merged in > mainline kernel, but the patch restricts the timeout only to USB 3.0 devices. > I am not sure why it was restricted to USB 3.0 devices, but the same issue > seems to appear for USB 2.0 devices too. > > > > The below patch removes the restriction for USB 3.0 devices and makes the > time out applicable to all USB devices. > > > > Signed-off-by: vasudevan,krishna prasath > <[email protected]> > > --- > > drivers/usb/core/hub.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c > > index d2bd9d7..b2b709d 100644 > > --- a/drivers/usb/core/hub.c > > +++ b/drivers/usb/core/hub.c > > @@ -3320,7 +3320,7 @@ int usb_port_resume(struct usb_device *udev, > pm_message_t msg) > > > > clear_bit(port1, hub->busy_bits); > > > > - if (udev->persist_enabled && hub_is_superspeed(hub->hdev)) > > + if (udev->persist_enabled) > > status = wait_for_ss_port_enable(udev, hub, > &port1, &portchange, > > &portstatus); > > > > --
This patch is totally corrupted and can't be applied even for testing :( Please fix up your email client and try again. thanks, greg k-h -- 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
