Here a patch sloving the probleme.
On Sat, 8 Nov 2003 19:53:06 +0100
"fee mail" <[EMAIL PROTECTED]> wrote:
>
>
> this happen with eci adsul usermode driver.
> pppd crash with this oops on console.
>
> The field dev may be reseted so the the line 321 of usb.c
> ("dev->bus->bandwidth_allocated += bustime;" in fuction usb_claim_bandwidth) rise
> the oops.
>
> But I don't really see where the dev field may be reseted so I guess the crash is
> due to a race condition on the urb sent int endpoint as the
> uhci_submit_urb proc release a spinlock just before.
>
>
>
>
798c798
< queue_urb (s, urb); // queue before inserting in desc chain
---
> queue_urb_unlocked (s, urb); // queue before inserting in desc chain
1354c1354
< spin_lock_irqsave (&s->urb_list_lock, flags);
---
> /* spin_lock_irqsave (&s->urb_list_lock, flags);*/
1373c1373
< spin_unlock_irqrestore(&s->urb_list_lock, flags);
---
> /* spin_unlock_irqrestore(&s->urb_list_lock, flags);*/
1489c1489
< queue_urb (s, urb);
---
> queue_urb_unlocked (s, urb);
1570c1570
< queue_urb (s, urb);
---
> queue_urb_unlocked (s, urb);
1712d1711
< spin_unlock_irqrestore (&s->urb_list_lock, flags);
1752a1752
> spin_unlock_irqrestore (&s->urb_list_lock, flags);