RE: [PATCH 0/3] USB: fix race between root-hub suspend and remote wakeup

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

 



On Fri, 13 Apr 2012, Xu, Andiry wrote:

> > To trigger the race, add an ssleep(2) call (or something similar) to
> > the end of xhci_bus_suspend.  Plug in a SuperSpeed hub, and attach some
> > other SuperSpeed device to the hub.
> 
> > Then start a system suspend.  During the elay caused by the ssleep
> > call, unplug the device from the hub.  That should cause the hub to
> > generate a remote wakeup request, and if your patch works correctly
> > then the wakeup request will cause the system suspend to be aborted.
> 
> I have doubt about this. Note xHCI has different remote wakeup mechanism
> for 3.0 port and 2.0 port. For 2.0 port, it's almost the same as EHCI: write resume
> state to PORTSC register and waiting for 20ms, then write U0 to the register.
> For SS port, it does not have this "20ms clock" mechanism, just write U0 to the 
> register. The code change in the patch mainly cover the 2.0 port part. For 3.0
> port behavior, I doubt there will be any difference with the patch. Or should I
> use a 2.0 hub and 2.0 device to verify the patch?

Oh, I see.  Yes, you're right; you should test the non-SuperSpeed case.  
I guess the speed of the hub doesn't matter, but the device definitely 
should not be SuperSpeed.

Alan Stern

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


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

  Powered by Linux