On Sat, Jul 18, 2009 at 07:29:36AM +0200, Oliver Neukum wrote: > Am Samstag, 18. Juli 2009 00:19:51 schrieb Matthew Garrett: > > I've finally got a bit further with this. The usb_submit_urb() call in > > usb_serial_generic_open fails because urb->hcpriv is set. Race between > > the resume call and the open occuring? > > No, this looks like a big fat logic bug, not a race. The resume handler > has to resubmit the reading URBs if the device is resumed while opened. > But the open() method bumps the counter before it resumes a device. > The fix is to increment the counter only after the resumption or if no > resumption is attempted. Does this patch fix the problem? Yes, that seems much better. Tested-by: Matthew Garrett <mjg@xxxxxxxxxx> -- Matthew Garrett | mjg59@xxxxxxxxxxxxx -- 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