On 31 May 2000, John Fremlin wrote:

> > That patch is wrong. Triggers now a much deeper schedule() *sometimes*
> > (under very high load) in sohci_free_dev(). Why sohci_free_dev() is called
> > from sohci_unlink_urb() ? I really don't know. 
> 
> Roman Weissgaerber <[EMAIL PROTECTED]> has already made a patch for
> this functionality. Unfortunately, it doesn't seem to work for Oliver
> and me.

It's not the same. Roman's patch enables asynchronous unlink. My patch
attempted to allow synchronous unlink while in_interrupt(). My patch
works only most of the time, because in some obscure conditions, it calls
sohci_free_dev(), which is not itself in_interrupt-safe.

I'm going to try Roman's OHCI patch, with the assumption that I can at the
same time asynchronously cancel an URB to an EP and submit an URB to
another EP of the same device (and at the same time, having the device [a
pegasus thingy] correctly handle both a fresh data packet and a control
request for MAC reset. Yikes).

> Also explains that timeouts are being worked on.

Oh, just saw this. Yup, timeouts will really be useful to make pegasus
work smoother (got already nice results, like 200 kbyte/second for 5-25
minutes... before the nasty oops I introduced).

> Try 2.4.0test1 and see if you can get Roman's patch working. Please!
> I can't do remote debug and the OOPs trashes my box.

Fortunately, the target machine is a laptop, which doesn't need to be
productive before a few weeks. Phew.

        -- Cyrille

------------------------------------------------------------------------------
Grumpf.



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to