On Wednesday 30 May 2007, Alan Stern wrote:
> On Wed, 30 May 2007, David Brownell wrote:
> 
> > On Wednesday 30 May 2007, Alan Stern wrote:
> > > 
> > > Propagating the change into the OTG HNP handler requires a slight
> > > addition to the OTG whitelist checking code: A device not attached to
> > > the OTG port should always count as "targeted".
> > 
> > No, that's not what the OTG spec says.  If there's a
> > list of targeted peripherals ... that's it.  It applies
> > to all host ports, not just the OTG port.
> > 
> > You need to revert that change.
> 
> I must have misunderstood something from our earlier conversation.
> 
> I thought you said that if a system has multiple USB ports, then one of
> them can be an OTG port and the rest act like ordinary host ports.  

Where "normal" for OTG involves testing the targeted peripheral
list.  The difference is just that it doesn't support HNP.  Scan
the OTG spec...

It wouldn't make any sense for product specs to say that only
products {X, Y, ... Z} are supported, and then ignore those specs
just because of which host port the user happened to use!  That'd
cause huge product support headaches.


> Hence a device plugged into one of the non-OTG ports should always
> count as "targeted" in the sense that the system should always be
> willing to treat it as a normal device and communicate with it.
> Conversely, the test for whether or not a device really is targeted
> should matter only when the device is plugged into the OTG port.

No.

 
> According to the original code, plugging a non-targeted device into 
> a non-OTG port would cause the host to initiate HNP on the OTG port!  
> At least, that's what it looks like to me.  Have I got it wrong?

Yeah, I thought I noticed that too.  It should just suspend the port
being enumerated.  I haven't yet seen systems where that could be
an issue, but I think some of the Freescale parts could trigger that
bug when they start to support OTG.  Not all the OTG boards which have
multiple host ports actually wire them out!

The intent is:  if a non-targeted device is plugged in, the only way
that connection may survive is if that device performs HNP and finds
that this one (in A_PERIPHERAL mode) is in *its* targeted peripheral
list.  Otherwise, all ports should just act the same.

- Dave

 
> Or is the patch in fact correct?
> 
> Alan Stern
> 



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to