char: add WARN_ON() in misc_deregister()
authorAkinobu Mita <akinobu.mita@gmail.com>
Tue, 10 Aug 2010 00:20:35 +0000 (17:20 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Aug 2010 03:45:06 +0000 (20:45 -0700)
misc_deregister() returns an error only when it attempts to unregister
the device that is not registered. This is the driver's bug.

Most of the drivers don't check the return value of misc_deregister().
(It is not bad thing because most of kernel *_unregister() API always
succeed and do not return value)

So it is better to indicate the error by WARN_ON() in misc_deregister().

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/char/misc.c

index cd650ca8c679c102f135cb2a6d0d1bfb387e5bf7..abdafd48898029324d21153637bb3af4925e0fe3 100644 (file)
@@ -242,7 +242,7 @@ int misc_deregister(struct miscdevice *misc)
 {
        int i = DYNAMIC_MINORS - misc->minor - 1;
 
-       if (list_empty(&misc->list))
+       if (WARN_ON(list_empty(&misc->list)))
                return -EINVAL;
 
        mutex_lock(&misc_mtx);