Hi,
hcd_data_lock is taken too late.
static int hcd_submit_urb (struct urb *urb, int mem_flags)
{
int status;
struct usb_hcd *hcd = urb->dev->bus->hcpriv;
You've just followed a pointer that you haven't validated.
If the driver has improper locking, your potentially dead.
That's why the driver has to lock usb_submit_urb() against
driver->disconnect() and you need to unlink the urbs
after it.
Regards
Oliver
-------------------------------------------------------
This sf.net email is sponsored by: Influence the future
of Java(TM) technology. Join the Java Community
Process(SM) (JCP(SM)) program now.
http://ads.sourceforge.net/cgi-bin/redirect.pl?sunm0002en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel