On Thu, 2018-10-18 at 07:10 +0200, Greg Kroah-Hartman wrote:
> > diff --git a/drivers/base/dd.c b/drivers/base/dd.c
> > index edfc9f0b1180..b4212154a94b 100644
> > --- a/drivers/base/dd.c
> > +++ b/drivers/base/dd.c
> > @@ -645,6 +645,14 @@ int driver_probe_device(struct device_driver *drv,
> > struct device *dev)
> > {
> > int ret = 0;
> >
> > + /*
> > + * Several callers check the driver pointer without holding the
> > + * device mutex. Hence check the driver pointer again while holding
> > + * the device mutex.
> > + */
> > + if (dev->driver)
> > + return dev->driver == drv;
>
> I do not understand, who is calling probe twice? What is the sequence
> of events that is causing that error message being printed out? Wh is
> not grabbing the mutex properly?
Hi Greg,
If I drop patch 3/7 from my patch series and use Alexander Duyck's patches
instead I don't need this patch anymore. So I don't think we have to spend
more time on this patch.
Thanks,
Bart.