aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/dd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/dd.c')
-rw-r--r--drivers/base/dd.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index cdc779cf79a3..49a4a12fafef 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -320,21 +320,25 @@ probe_failed:
320 dev->driver = NULL; 320 dev->driver = NULL;
321 dev_set_drvdata(dev, NULL); 321 dev_set_drvdata(dev, NULL);
322 322
323 if (ret == -EPROBE_DEFER) { 323 switch (ret) {
324 case -EPROBE_DEFER:
324 /* Driver requested deferred probing */ 325 /* Driver requested deferred probing */
325 dev_info(dev, "Driver %s requests probe deferral\n", drv->name); 326 dev_dbg(dev, "Driver %s requests probe deferral\n", drv->name);
326 driver_deferred_probe_add(dev); 327 driver_deferred_probe_add(dev);
327 /* Did a trigger occur while probing? Need to re-trigger if yes */ 328 /* Did a trigger occur while probing? Need to re-trigger if yes */
328 if (local_trigger_count != atomic_read(&deferred_trigger_count)) 329 if (local_trigger_count != atomic_read(&deferred_trigger_count))
329 driver_deferred_probe_trigger(); 330 driver_deferred_probe_trigger();
330 } else if (ret != -ENODEV && ret != -ENXIO) { 331 break;
332 case -ENODEV:
333 case -ENXIO:
334 pr_debug("%s: probe of %s rejects match %d\n",
335 drv->name, dev_name(dev), ret);
336 break;
337 default:
331 /* driver matched but the probe failed */ 338 /* driver matched but the probe failed */
332 printk(KERN_WARNING 339 printk(KERN_WARNING
333 "%s: probe of %s failed with error %d\n", 340 "%s: probe of %s failed with error %d\n",
334 drv->name, dev_name(dev), ret); 341 drv->name, dev_name(dev), ret);
335 } else {
336 pr_debug("%s: probe of %s rejects match %d\n",
337 drv->name, dev_name(dev), ret);
338 } 342 }
339 /* 343 /*
340 * Ignore errors returned by ->probe so that the next driver can try 344 * Ignore errors returned by ->probe so that the next driver can try