Messages in this thread | | | Date | Thu, 21 Nov 2019 14:57:43 +0100 | From | Greg Kroah-Hartman <> | Subject | Re: [PATCH 2/2] driver core: Print device in really_probe() warning backtrace |
| |
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@glider.be> > --- > drivers/base/dd.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/base/dd.c b/drivers/base/dd.c > index d811e60610d33ae9..a7e8040ef0003f44 100644 > --- 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.
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.
thanks,
greg k-h
| |