From 8ba3b51554db3918c1dddd524e11538ff86049e3 Mon Sep 17 00:00:00 2001 From: Cornelia Huck Date: Mon, 27 Nov 2006 10:35:10 +0100 Subject: [PATCH] --- yaml --- r: 46616 b: refs/heads/master c: c578abbc20762aa58e390e55252959853eeea17e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/base/dd.c | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 8fc5ec07142f..944b5aca2234 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fbfb14455391b89edcf37327526988dea7849532 +refs/heads/master: c578abbc20762aa58e390e55252959853eeea17e diff --git a/trunk/drivers/base/dd.c b/trunk/drivers/base/dd.c index 510e7884975f..f70513748947 100644 --- a/trunk/drivers/base/dd.c +++ b/trunk/drivers/base/dd.c @@ -136,18 +136,17 @@ static int really_probe(void *void_data) driver_sysfs_remove(dev); dev->driver = NULL; - if (ret == -ENODEV || ret == -ENXIO) { - /* Driver matched, but didn't support device - * or device not found. - * Not an error; keep going. - */ - ret = 0; - } else { + if (ret != -ENODEV && ret != -ENXIO) { /* driver matched but the probe failed */ printk(KERN_WARNING "%s: probe of %s failed with error %d\n", drv->name, dev->bus_id, ret); } + /* + * Ignore errors returned by ->probe so that the next driver can try + * its luck. + */ + ret = 0; done: kfree(data); atomic_dec(&probe_count);