On Wed, 21 Mar 2012, Ming Lei wrote: > Looks it is a general issue about usb_hcd_unlink_urb. > > Alan, how about increasing URB reference count before calling unlink1 > inside usb_hcd_unlink_urb to fix this kind of problem? No, that won't fix the problem. The URB could complete and be deallocated even before usb_hcd_unlink_urb() is called, so nothing that function can do will prevent the error. It is the caller's responsibility to make sure that the URB does not get freed before usb_unlink_urb() or usb_kill_urb() returns. We probably should mention this in the kerneldoc... Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html