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