Message ID | 20180511162028.20616-3-brgl@bgdev.pl (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, May 11, 2018 at 6:20 PM, Bartosz Golaszewski <brgl@bgdev.pl> wrote: > From: Bartosz Golaszewski <bgolaszewski@baylibre.com> > > Early platform devices can have devres objects allocated in > early_probe(). This is not a bug so don't dump stack in this case. > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert
diff --git a/drivers/base/dd.c b/drivers/base/dd.c index c9f54089429b..0b94d9426757 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -410,7 +410,7 @@ static int really_probe(struct device *dev, struct device_driver *drv) atomic_inc(&probe_count); pr_debug("bus: '%s': %s: probing driver %s with device %s\n", drv->bus->name, __func__, drv->name, dev_name(dev)); - WARN_ON(!list_empty(&dev->devres_head)); + WARN_ON(!dev->early && !list_empty(&dev->devres_head)); re_probe: dev->driver = drv;