Re: pxa27x UDC invalid state warning

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

 



Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes:

> On Thu, 13 Aug 2009, Vernon Sauder wrote:
>
>> Robert,
>>
>> In our testing, we found that the HW-bit solution for single-threading
>> the setup requests is not sufficient to eliminate the "invalid state"
>> warning message. It seems that the ACM bit is not honored for set
>> configuration packets. We saw the host send an IN packet directly after
>> the set conf before the gadget had time to perform the callback to the
>> udc. We did not see any ill effect on the interaction by hitting this
>> stage.

Let me understand that. The sequence you see is :

   Host                    pxa27x_udc
    |                           |
    | ------ ep0(SETUP) ------> |
    | ------- ep0(OUT) -------> |
    | ------- ep0(OUT) -------> |
    | ------- ep0(OUT) -------> |
    |       SetConfig()         |
    |                           |
    | ----- ep0(IN)token -----> |
    | <---- ep0(IN, NACK)) ---- |
    |                           |
    | ----- ep0(IN)token -----> |
    | <---- ep0(IN, NACK) ----- |
    .                           .
    .                           .   Time passes, and the UDC callback is handled
    .                           .
    | ----- ep0(IN)token -----> |
    | <----- ep0(IN, ACK) ----- |
    |       Status stage        |
    |                           |

This sequence is the one I was expecting when I wrote the code. As far as my
understanding goes, this is correct, in regard to the USB 2.0 specification
(chapter 8.5.3.1, "function busy").

I don't understand why the warning is raised. Would you be so kind as to send me
the "beagle" capture file, because I'm a bit blind without it. I won't take any
action before I see what's actually happening.

> Even though you didn't see any ill effect, it can nevertheless cause 
> problems.  If the host starts sending requests before the Set-Config 
> has completed, it may end up trying to communicate with endpoints 
> before they are enabled.  That won't be good.
Agreed.

Cheers.

--
Robert
--
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