Currently if an error is detected when probing a device, this error is not reported. Generally, an error value from errno.h will be returned when the driver->probe function fails. However these errors are not logged, and the device fails silently. I've looked at e1000, tg3, 3c59x, acenic, hp, and many others... all of whom exibit this behaviour. The attached patch logs all errors, with the exception of -ENODEV, since it is normal to receive this error when matching drivers to devices.