Re: [linux-usb-devel] Re: usb sysfs intf files no longer created when probe fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le mercredi 22 juin 2005 à 11:41 -0400, Alan Stern a écrit :

> This is a curious aspect of the driver model core.  Should failure of a 
> driver to bind be considered serious enough to cause device_add to fail?
> The current answer is Yes unless the driver's probe routine returns 
> -ENODEV or -ENXIO, in which case the failure is not considered serious.

Indeed. I've also tracked my problem down to the hid core which returns
-EIO when it fails to drive an unknown HID device, instead of a more
logical -ENODEV (this is not a failure to init a known device, but
rather the impossibility to init an unknown device).

The patch below solves the problem for me:

Index: linux-2.6-trunk.git/drivers/usb/input/hid-core.c
===================================================================
--- linux-2.6-trunk.git.orig/drivers/usb/input/hid-core.c	2005-06-22
10:33:23.000000000 +0200
+++ linux-2.6-trunk.git/drivers/usb/input/hid-core.c	2005-06-22
17:43:10.000000000 +0200
@@ -1784,7 +1784,7 @@
 	if (!hid->claimed) {
 		printk ("HID device not claimed by input or hiddev\n");
 		hid_disconnect(intf);
-		return -EIO;
+		return -ENODEV;
 	}
 
 	printk(KERN_INFO);


> IMO this is a perverse way of doing things.  The existence of a device has 
> nothing to do with what driver is bound to it.  Either the device exists 
> or it doesn't -- and if it exists, failure to bind a driver shouldn't 
> prevent adding the device into sysfs.  Right now, however, it does.

I agree, presence in /sys/devices shouldn't be related to the existence
or success/failure of a driver. The link between /sys/class
towards /sys/devices is already saying this.

Stelian.
-- 
Stelian Pop <[email protected]>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux