Re: [RFC 5/7] USB/xHCI: USB 3.0 link PM change bit means port resume.

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

 



On Fri, 13 Jan 2012, Sarah Sharp wrote:

> > > Say that the USB tree looks like this:
> > > 
> > > host
> > >   |
> > >   | U0
> > >   |
> > > hub A
> > >   |
> > >   | U3
> > >   |
> > > hub B
> > >   |
> > >   | U3
> > >   |
> > > hub C
> > >   |
> > >   | U3
> > >   |
> > > device D
> > > 
> > > Device D sends a remote wakeup.  According to the USB 3.0 bus spec,
> > > section C.1.4.5, the first hub not in U3 (which is hub A) will reflect
> > > the LFPS signaling back to device C.  Now hub B, hub C, and device D are
> > > all in U0, but the USB core thinks they are still suspended.  Then the
> > > xHCI driver receives a device wake notification sent by device D.
> > 
> > It should receive notifications from hubs B and C as well.  Not that 
> > they will matter.
> 
> Why would hubs B and C send a device notification?  They're not the ones
> signaling the remote wakeup, and there's been no disconnects, connects, or
> overcurrent events, so there's nothing they've been programmed to send a
> remote wakeup for.

Hmmm.  10.8 says that if a hub receives wakeup signalling on a
downstream port and its upstream port is in U3, then the hub will drive
wakeup signalling on the upstream port.  I assumed that meant the hub
would send a Function Wake Notification to the host when the upstream
link changed to U0, but appendix C doesn't agree.

>  I can't find any mention of Function Wake device
> notifications in the hub section, aside from the wake bits.  Appendix C
> just says that the device that initiated the resume signaling needs to
> send the notification.

BTW, C.1.4.1 says "The FUNCTION_SUSPEND feature is also used to enable
function remote wakeup".  This indicates that when a device is
suspended with wakeup enabled, we'd better send a Function Suspend
request to each interface that is the first interface of a function and
has its needs_remote_wakeup flag set.  On the other hand, we should be
able to skip the other interfaces.

> Of course, I can't test my theory because I don't currently have enough
> hubs that handle device suspend. :)

In any case, it doesn't matter.

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