Re: [PATCH 2/2] driver core: Print device in really_probe() warning backtrace
From: Geert Uytterhoeven
Date: Thu Nov 21 2019 - 09:08:14 EST
On Thu, Nov 21, 2019 at 2:57 PM Greg Kroah-Hartman
> On Wed, Nov 20, 2019 at 03:36:19PM +0100, Geert Uytterhoeven wrote:
> > If a device already has devres items attached before probing, a warning
> > backtrace is printed. However, this backtrace does not reveal the
> > offending device, leaving the user uninformed.
> > Use dev_WARN_ON() instead of WARN_ON() to fix this.
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> > --- a/drivers/base/dd.c
> > +++ b/drivers/base/dd.c
> > @@ -516,7 +516,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));
> > + dev_WARN_ON(dev, !list_empty(&dev->devres_head));
> We really do not want WARN_ON() anywhere, as that causes systems with
> panic-on-warn to reboot.
> If this can happen, we should switch it to a real error message, with
> dev_err() and the like, and recover properly.
If this happens, there's something serious wrong with resource management,
> I don't want to make it easier to add WARN_ON() lines, like
> dev_WARN_ON() would allow, instead we should be removing them, as they
> encourage slopping programming habits.
OK, will respin, using dev_warn().
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds