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