Messages in this thread Patch in this message | | | From | Andy Shevchenko <> | Subject | [PATCH v2 2/3] driver core: Read atomic counter once in driver_probe_done() | Date | Tue, 24 Mar 2020 14:20:22 +0200 |
| |
Between printing the debug message and actual check atomic counter can be altered. For better debugging experience read atomic counter value only once.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Ferry Toth <fntoth@gmail.com> --- v2: picked up tags drivers/base/dd.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index 43720beb5300..efd0e4c16ba5 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -669,9 +669,10 @@ static int really_probe_debug(struct device *dev, struct device_driver *drv) */ int driver_probe_done(void) { - pr_debug("%s: probe_count = %d\n", __func__, - atomic_read(&probe_count)); - if (atomic_read(&probe_count)) + int local_probe_count = atomic_read(&probe_count); + + pr_debug("%s: probe_count = %d\n", __func__, local_probe_count); + if (local_probe_count) return -EBUSY; return 0; } -- 2.25.1
| |