Re: [PATCH 9/9] musb_gadget_ep0: fix unhandled IRQ

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

 



David Brownell wrote:

I'm considering addition of another (tryly "idle") phase because the stage after the status phase completion interrupt and before the RxPktRdy interrupt was clearly missed.

In answer to Greg's previous question:  looks like this patch is
rather clearly *not* 2.6.29 material.  ;)

Well, could wait indeed. DaVinci and OMAP are hiding those IRQs from user anyway (but my OMAP-L1x glue doesn't)...

Sergei, adding another phase to the state machine should be no
particular issue, but do keep in mind that the musb_g_ep0_state
values reflect *protocol* states right now.

The states actually should correspond to the interrupts generated by MUSB (with one exception, ACKWAIT). The problem is that one state was skipped (the corresponding IRQ *usually* gets coalesced with a preceding one in the STATUS/OUT phase).

That is, the model is that the various IRQ-driven transitions
should be sorted out, races and all, and then mapped to those
states.  The Mentor documentation is excessively weak about
most of the hardware state transitions (and e.g. their OTG
states are a complete mismatch to the OTG specs), so coming up
with something that mirrors hardware not protocol states isn't
very straightforward.

Contrarywise, it's the only viable solution I think -- since we can't see what happens on USB directly and have to rely on MUSB as a proxy. And anyway, the ACKWAIT state doesn't seem to correspond to anything in the USB protocol -- it looks like artificial addition.

- Dave

WBR, Sergei
--
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