> From: Duncan Sands <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Date: Sat, 3 Nov 2001 22:53:21 +0100
> (2) Why does the pegasus driver bother to submit a new > URB during completion (in fact it resubmits the same URB > it is handling completion for)? - wouldn't it be simpler just to > link the URB to itself (using the "next" field), causing the > usb subsystem to automatically submit it endlessly (avoid > the need to explicitly resubmit it)? I do not think that automatic resubmit of itself is a smart idea. If a processing is delayed for a very small amount, sufficient for the board to start DMA-ing a start of the next packet, the start of the previous packet will be destroyed. The situation may be easied by devising a multibuffer scheme, where next points to some other packet, and that one points to the first packet in a ring. Still, I think it is unsafe to let the DMA hardware to ravage the memory unchecked. Better let it loose packets than risk corruption, _especially_ in networking. There is a very large number of idiots who think "Ethernet has CRC", and never check for validity. The self-resubmit blows them out of the water with vegneance (hmm... perhaps it's a good thing, after all :) -- Pete _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel