Re: debugging oops after disconnecting Nexio USB touchscreen

From: Alan Stern
Date: Wed Dec 02 2009 - 10:58:40 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/