Re: [PATCH] Fix OTG HNP for hub.c (USB OTG HNP (can you find any other appropriate TLAs?)

Tony Lindgren <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
* Felipe Balbi <[email protected]> [070529 16:34]:
> <snip>
>
>> > The behavioral difference would be that WHEN ("not 'IF'")
>> > the whitelist (which is very easily checked against product
>> > documentation) diverges from the list of configured drivers
>> > (no easy way to crosscheck that and docs) things would not
>> > act the same.
>>
>> I guess HNP should be offered for peripherals even if not
>> on whitelist, but only peripherals on whitelist (with HNP
>> or not) should be allowed.
>
> Or maybe we run a set_feature (b_hnp_enabled) just before the
> suspend... can we do that dave?? It doesn't seem really correct when
> typing... but...
>
> If I'm not wrong... every device can accept a b_hnp_enable set_feature
> command... if the controller doesn't support it just return a
> "stall".. or something like that... so... we could just forget about
> the whitelist for now.. can't we?
>
> If the device supports HNP it will get the b_hnp_enable command and
> after a_host enters in suspend mode... it will try to do HNP (if the
> user wants...)

AFAIK, all OTG devices need to support b_hnp_enable, but it's just
a way to tell it that host supports HNP, it does not mean HNP should
enabled. Enabling HNP should be done by the user on the b-device.

>> > This is more or less what you were trying to achieve,
>> > yes?  But it leads to surprising behavior in cases
>> > like:
>> >
>> >    * hook up non-OTG peripheral #1 ... acts just
>> >      the way you'd normally expect
>> >
>> >    * hook up OTG peripheral #2 ... surprise!  it
>> >      refuses to act as a peripheral at first.
>> >
>> > The "principle of least astonishment" argues that
>> > the "peripheral #1" model should be followed for
>> > as long as possible.  Customer service calls would
>> > be a lot simpler too...
>>
>> Yeh I guess in that case it needs to wait for autosuspend
>> until #1 is done.
>>
>> But if #2 is not on whitelist and can do HNP, then
>> it just gets rejected and never gets it's HNP opportunity.
>>
>> Hmmm...

I guess the non-whitelisted b-device should sit waiting for HNP
mode start when the host autosuspend suspends the bus?

Tony

-------------------------------------------------------------------------
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/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.