drivers/base/dd.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-)
In the probe function (either drv->bus->probe() or drv->probe()),
there is no return value of EPROBE_DEFER. the error return from probe
should be -EPROBE_DEFER, hence no negation of call_driver_probe()'s
return is needed, nor should there be an EPROBE_DEFER check in
driver_probe_device()
Signed-off-by: Lizhe <sensor1010@163.com>
v3:
Modify commit message and versions go below the ---
v2:
Delete the judgment with the return value of EPROBEDEFER
from the _driver_probe.device()
v1:
Add the judgment with the return value of EPROBEDEFER
from the _driver_probe.device()
---
drivers/base/dd.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 83d352394fdf..d047919d1f5e 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -664,11 +664,6 @@ static int really_probe(struct device *dev, struct device_driver *drv)
if (link_ret == -EAGAIN)
ret = -EPROBE_DEFER;
- /*
- * Return probe errors as positive values so that the callers
- * can distinguish them from other errors.
- */
- ret = -ret;
goto probe_failed;
}
@@ -826,7 +821,7 @@ static int driver_probe_device(struct device_driver *drv, struct device *dev)
atomic_inc(&probe_count);
ret = __driver_probe_device(drv, dev);
- if (ret == -EPROBE_DEFER || ret == EPROBE_DEFER) {
+ if (ret == -EPROBE_DEFER) {
driver_deferred_probe_add(dev);
/*
--
2.17.1
On Tue, Jul 09, 2024 at 07:14:17AM -0700, Lizhe wrote: > In the probe function (either drv->bus->probe() or drv->probe()), > there is no return value of EPROBE_DEFER. the error return from probe > should be -EPROBE_DEFER, hence no negation of call_driver_probe()'s > return is needed, nor should there be an EPROBE_DEFER check in > driver_probe_device() > > Signed-off-by: Lizhe <sensor1010@163.com> > > v3: > Modify commit message and versions go below the --- That didn't happen here :(
On Tue, Jul 09, 2024 at 07:14:17AM -0700, Lizhe wrote: > In the probe function (either drv->bus->probe() or drv->probe()), > there is no return value of EPROBE_DEFER. the error return from probe > should be -EPROBE_DEFER, hence no negation of call_driver_probe()'s > return is needed, nor should there be an EPROBE_DEFER check in > driver_probe_device() > > Signed-off-by: Lizhe <sensor1010@163.com> > > v3: > Modify commit message and versions go below the --- > v2: > Delete the judgment with the return value of EPROBEDEFER > from the _driver_probe.device() > v1: > Add the judgment with the return value of EPROBEDEFER > from the _driver_probe.device() > --- > drivers/base/dd.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) The documentation says to put the vN: stuff below the --- line, right? And how did you find this issue? thanks, greg kh-
© 2016 - 2026 Red Hat, Inc.