Re: WARNING: at drivers/base/sys.c:183 sysdev_driver_register+0x7a

Rafael J. Wysocki
2008-05-07T18:57:06Z

On Wednesday, 7 of May 2008, Mike Galbraith wrote:
>
> On Wed, 2008-05-07 at 00:39 +0200, Rafael J. Wysocki wrote:
> > On Tuesday, 22 of April 2008, Mike Galbraith wrote:
> > >
> > > On Tue, 2008-04-22 at 09:53 +0200, Ingo Molnar wrote:
> > > > hi Len,
> > > >
> > > > randconfig boot testing found this new debug warning message in the
> > > > syslog:
> > >
> > > Ditto with Q6600 and v2.6.25-3410-g8075014.
> >
> > Does it still happen with the current -git?
>
> No, it was fixed by:

OK, thanks.

> commit db176c6ed8974fae94328ad5ac9e70b094ff22fd
> Author: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
> Date: Wed May 7 04:02:53 2008 +0900
>
> Fix bogus warning in sysdev_driver_register()
>
> if ((drv->entry.next != drv->entry.prev) ||
> (drv->entry.next != NULL)) {
>
> warns list_empty(&drv->entry).
>
> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
> Cc: Greg KH <gregkh@suse.de>
> Cc: Len Brown <lenb@kernel.org>
> [ Version 2 totally redone based on suggestions from Linus & Greg ]
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
>
> diff --git a/drivers/base/sys.c b/drivers/base/sys.c
> index 4fbb56b..358bb0b 100644
> --- a/drivers/base/sys.c
> +++ b/drivers/base/sys.c
> @@ -175,8 +175,7 @@ int sysdev_driver_register(struct sysdev_class *cls, struct sysdev_driver *drv)
> }
>
> /* Check whether this driver has already been added to a class. */
> - if ((drv->entry.next != drv->entry.prev) ||
> - (drv->entry.next != NULL)) {
> + if (drv->entry.next && !list_empty(&drv->entry)) {
> printk(KERN_WARNING "sysdev: class %s: driver (%p) has already"
> " been registered to a class, something is wrong, but "
> "will forge on!\n", cls->name, drv);
>
>
>
>
>
>

--
"Premature optimization is the root of all evil." - Donald Knuth