usb_generic_driver_probe only returns 0. Inside this function, there are only errors that are marked as not fatal. No need to change usb_generic_driver_probe to return error, only remove redundant error check. --- drivers/usb/core/driver.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index e01b1913d02b..b6274580b7ca 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c @@ -266,8 +266,6 @@ static int usb_probe_device(struct device *dev) if (udriver->generic_subclass) error = usb_generic_driver_probe(udev); - if (error) - return error; /* Probe the USB device with the driver in hand, but only * defer to a generic driver in case the current USB -- 2.34.1