On Wed, 2 Dec 2009, Ondrej Zary wrote: > It shows "prev is NULL, qh=f6581080, ehci->async=f6581000". > > The problem is that activating usbmon causes the problem to disappear. No errors > in maybe 15 attempts. It appeared on 2nd attempt after unloading usbmon. Nevertheless, the usbmon output might be useful. Try going through a couple of cycles with usbmon installed, then unload usbmon and create a crash. Also, try adding some more debugging output (and let's hope it doesn't also make the problem disappear). In start_unlink_async(), just before your "after:" label, add ehci_info(ehci, "unlink qh %p %p\n", qh, qh->qh_next); In qh_link_async(), just after the wmb(), add ehci_info(ehci, "link qh %p %p\n", qh, qh->qh_next); In end_unlink_async(), just after the iaa_watchdog_done(ehci), add ehci_info(ehci, "end unlink qh %p %p\n", qh, qh->next); And in qh_make(), just before the end, add ehci_info(ehci, "create qh %p, dev %s, ep %x\n", qh, urb->dev->devpath, urb->ep->desc.bEndpointAddress); 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