Re: Handshaking on USB serial devices

From: Alan Cox
Date: Thu Feb 14 2008 - 07:18:25 EST


> To make it clear: Even aside from the buffer in 2.6's pl2303.c, there's
> a race: An in-flight write URB can fill all hardware buffers, making
> unsafe what previously appeared to be a safe write. I think it's
> essential to delay submission of the URB on a stop-transmit condition.

Hardware flow control *is* a race, and always will be. The remote end has
a delay in signalling 'stop' there is a propogation delay and a response
delay. This is why most implementations assert stop a bit *before* they
run out.

Given the size of transfers and the internal buffering one would hope the
USB devices do their own flow control if told to properly.

Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/