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

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

 



On Tuesday 10 February 2009, Sergei Shtylyov wrote:
>     Though I suspect that in reality these two distinct interrupts will often 
> coalesce as well as DATA1 token should follow IN/OUT pretty quick. What a racy 
> piece of hardware... :-/

Nothing very specific to this hardware, unless it's really
doing something stupid like issuing IRQs for IN/OUT instead
of just the various flavors of DATA.

Control transfers *always* have lots of adjacent packets of
odd types, so unless the hardware takes particular care to
let the software insert delays between e.g.

	- SETUP/DATA then
		* IN/DATA (most allow NAKing here)
		* OUT/DATA (some don't, painful)
	- IN/DATA and status OUT/DATA
	- OUT/DATA and status IN/DATA

then there will be races there.  And delivery of SETUP is
inherently racey ... in the worst case, the host sends one
before the preceding transaction completes.  A common case
that's not quite as bad is getting a SETUP right after the
empty status ack was sent.  That case is usually preventable
by having the peripheral NAK until it's processed all the
IN/OUT data ... but again, not all hardware allows that.

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