[PATCH] USB: turn a user mode driver error into a hard error
authorDavid Brownell <david-b@pacbell.net>
Tue, 12 Apr 2005 01:34:17 +0000 (18:34 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 27 Jun 2005 21:43:42 +0000 (14:43 -0700)
This patch turns a user mode driver error into a hard error, and updates
the relevant diagnostic slightly to help troubleshooting.  gphoto was
known to have this problem, hopefully it is now fixed (they have had
plenty of warning...)

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 <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/devio.c

index 6bfab4bcaa9e945a5f919a93ce1cb0f75da08775..787c27a63c5135731c71f75fed5429501b97aa78 100644 (file)
@@ -784,16 +784,16 @@ static int proc_setconfig(struct dev_state *ps, void __user *arg)
                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
                        }
                }
        }