[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