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);

Reply via email to