diff options
Diffstat (limited to 'drivers/base/dd.c')
-rw-r--r-- | drivers/base/dd.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 7a2fa5dcead7..39292535c74e 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -419,13 +419,19 @@ int driver_probe_device(struct device_driver *drv, struct device *dev) bool driver_allows_async_probing(struct device_driver *drv) { - if (drv->probe_type == PROBE_PREFER_ASYNCHRONOUS) + switch (drv->probe_type) { + case PROBE_PREFER_ASYNCHRONOUS: return true; - if (drv->owner && drv->owner->async_probe_requested) - return true; + case PROBE_FORCE_SYNCHRONOUS: + return false; + + default: + if (drv->owner && drv->owner->async_probe_requested) + return true; - return false; + return false; + } } struct device_attach_data { |