Re: debugging oops after disconnecting Nexio USB touchscreen

From: Alan Stern
Date: Fri Dec 04 2009 - 10:47:43 EST


On Fri, 4 Dec 2009, Ondrej Zary wrote:

> > Furthermore, the patch shows that the second-to-last argument to
> > usb_fill_bulk_urb() -- the completion function -- is NULL. That is
> > strictly illegal and it should have caused an oops as soon as the URB
> > was used.
>
> Thanks for catching this. usbmon showed no ACK packets so it didn't work
> at all. The device did not care. It started to work after adding a
> complete function.

What started to work? If you don't send any ACK packets, it doesn't
make any difference whether the completion function is set or not.


> Seems that -EPIPE is returned only after the device is disconnected. Adding a
> check for -EPIPE to usbtouch_irq() and not submitting the urb again seems to
> fix the problem!

Fix which problem? The unending resubmissions or the oops in ehci-hcd?

BTW, does the touchscreen run at high speed or at full speed?

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/