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
 			}
  		}
  	}

Reply via email to