Messages in this thread | | | Date | Wed, 22 Jun 2005 09:22:21 -0700 | From | Greg KH <> | Subject | Re: [linux-usb-devel] Re: usb sysfs intf files no longer created when probe fails |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |