Messages in this thread | | | Subject | Re: [PATCH v1 2/3] driver core: Read atomic counter once in driver_probe_done() | From | Ferry Toth <> | Date | Thu, 19 Mar 2020 00:49:09 +0100 |
| |
Op 09-03-2020 om 15:11 schreef Andy Shevchenko: > 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>
> --- > 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; > } >
| |