[PATCH] iso pipe support for usbatm

matthieu castet castet.matthieu at free.fr
Thu Mar 24 13:02:35 EST 2005


hi ,

Roman Kagan wrote:
> On Sat, Mar 19, 2005 at 03:37:40PM +0100, matthieu castet wrote:
> 
>>I agree that we need to manage the error differently in order to avoid 
>>deadlock.
> 
> 
> I just realized that in the current version an error in urb submission
> doesn't cause a deadlock: it doesn't break out of the loop, as I
> thought (it was the style of writing a loop with label: ... goto label;
> rather than usual while(1) {...} which confused me).  However, if the
> error isn't actually transient as it is assumed to be, this may cause a
> livelock instead.
> 
> A solution to this can be to introduce two (rx and tx) timers to
> throttle the resubmission.  Thinking of my patch, it should be fairly
> trivial: a failed submission adjusts the timer to the throttling period
> with a function to schedule the correspoding tasklet.
> 
> Alternatively, if we move the stuff to support the status polling from
> the individual drivers to usbatm, we can use the polling heartbeat to
> also schedule rx and tx tasklets.
I don't know if it is a good idea, this can't fit for all the modem driver.
> 
> Which approach do you think is better?
I think we should always call tasklet_schedule, and manage the error 
with another way(put the buffer in the empty list, make sure lenght = 0, 
check for killed status, ...).


Matthieu



More information about the Usbatm mailing list