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

From: Greg KH
Date: Wed Jun 22 2005 - 11:37:03 EST

On Wed, Jun 22, 2005 at 05:53:28PM +0200, Stelian Pop wrote:
> 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:

Damm, beat me by a few minutes :)

Yes, this is the proper fix for this.

But to answer Alan's main question, I think you are correct, we should
not fail device_add if binding a device fails. I can see this causing a
lot of very difficult problems in the future (including the fact that
I've been hitting this bug with a new driver I'm writing and didn't even
realize it...)

So, I'll apply this one, and revert the main part of Hannes's patch too.

Thanks for tracking this down.

greg k-h
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at