> On Wed, 31 May 2000, Peter E. Berger wrote:
> > sure that this problem affects the other usb-serial drivers under 2.3.X
> > and 2.4.X kernels too. We're just merging in some other changes and
>
> 2.2.15-pre5 and later too if the cause of the hangs is that
> TASK_RUNNING/TASK_INTERRUPTIBLE ping-pong.
>
> 2.2.15pre5
> o Fix cases where things write to user space
> in TASK_INTERRUPTIBLE as well as some other
> odd quirks (Ben LaHaise et al)
Ah! Thanks for the explanation. Where did you find that description?
...
>
> Btw. why for one we haven't seen any reports from other serial devices?
> They behave exactly the same - calling wakeup from an interrupt.
Well, serial.c, for example, queues its wakeup calls via rs_sched_event()
when its output buffer reaches low water marks and -- if hardware flow
control is set and asserted -- when the condition clears. The wakeups
actually occur in do_softint(), called from its task queue rather than
asynchronously from rs_write(). Thus serial.c wakeups are, I believe,
immune to the race condition. That's the behavior we added to our
Digi USB driver.
--Peter
--
Peter E. Berger Tel: (218) 848-2885
Brimson Laboratories Fax: (218) 848-2433
1549 Hiironen Rd. Email: [EMAIL PROTECTED]
Brimson, MN 55602
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]