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