[PATCH] driver:core: NO need to determine whether the driver is asynchronous

From: 李哲
Date: Sun Jul 14 2024 - 01:06:13 EST


When rescanning the device, there is no need to determine
whether the driver is asynchronous.

Signed-off-by: 李哲 <sensor1010@xxxxxxx>
---
drivers/base/dd.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/base/dd.c b/drivers/base/dd.c
index 47351d98f6e1..41fd4b1b4779 100644
--- a/drivers/base/dd.c
+++ b/drivers/base/dd.c
@@ -915,7 +915,7 @@ static int __device_attach_driver(struct device_driver *drv, void *_data)
{
struct device_attach_data *data = _data;
struct device *dev = data->dev;
- bool async_allowed;
+ bool async_allowed = false;
int ret;

ret = driver_match_device(drv, dev);
@@ -936,12 +936,14 @@ static int __device_attach_driver(struct device_driver *drv, void *_data)
return ret;
} /* ret > 0 means positive match */

- async_allowed = driver_allows_async_probing(drv);
+ if (data->check_async) {
+ async_allowed = driver_allows_async_probing(drv);

- if (async_allowed)
- data->have_async = true;
+ if (async_allowed)
+ data->have_async = true;
+ }

- if (data->check_async && async_allowed != data->want_async)
+ if (async_allowed != data->want_async)
return 0;

/*
--
2.17.1