On Sunday 27 March 2005 4:31 pm, Andrew Morton wrote: > > http://bugme.osdl.org/show_bug.cgi?id=4408 > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1209626496 (LWP 26124)] > usb_reset (dev=0x0) at linux.c:671 > 671 ret = ioctl(dev->fd, IOCTL_USB_RESET, NULL); > > log messages > usb 2-2: usbfs: interface 0 claimed while 'lt-owhttpd' sets config #1
There is clearly a bug in the lt-owhttpd code. It shouldn't be triggering that warning, and it also loooks like issuing a SET_CONFIGURATION is incorrect. It being 2.6.12-rc2 now, it's probably time to address the related "FIXME in 2.6.10 or so" bug, as in the attached patch. It's very possible that once that lt-owhttpd code is fixed to work with this patch, then this SEGV will also be fixed. - Dave
This patch turns a user mode driver error into a hard error, and updates the relevant diagnostic slightly to help troubleshooting. This had been left as a soft error to give various user mode drivers a change to be properly fixed, with the statement that starting in about 2.6.10 it would be changed. It had been mostly safe as a soft error ... but that can not be guaranteed. Now that a year has passed, it's time to really insist that the user mode drivers finally fix their relevant bugs. Signed-off-by: David Brownell <[EMAIL PROTECTED]> --- 1.76/drivers/usb/core/devio.c 2005-03-09 12:18:37 -08:00 +++ edited/drivers/usb/core/devio.c 2005-04-04 13:02:02 -07:00 @@ -786,16 +786,16 @@ for (i = 0; i < actconfig->desc.bNumInterfaces; ++i) { if (usb_interface_claimed(actconfig->interface[i])) { dev_warn (&ps->dev->dev, - "usbfs: interface %d claimed " + "usbfs: interface %d claimed by %s " "while '%s' sets config #%d\n", actconfig->interface[i] ->cur_altsetting ->desc.bInterfaceNumber, + actconfig->interface[i] + ->dev.driver->name, current->comm, u); -#if 0 /* FIXME: enable in 2.6.10 or so */ status = -EBUSY; break; -#endif } } }