> 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]

Reply via email to