lkml.org 
[lkml]   [2005]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [linux-usb-devel] Re: usb sysfs intf files no longer created when probe fails
    From
    Date
    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 <stelian@popies.net>

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

    \
     
     \ /
      Last update: 2005-06-22 18:05    [W:0.021 / U:30.240 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site