telephony: phonedev panics if unregistering device not registered [Bug 9266]
authorMatti Linnanvuori <mattilinnanvuori@yahoo.com>
Mon, 5 Nov 2007 22:51:02 +0000 (14:51 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 5 Nov 2007 23:12:33 +0000 (15:12 -0800)
Remove panic from phonedev.  See

http://bugzilla.kernel.org/show_bug.cgi?id=9266

for details (phonedev panics if unregistering device not registered).

Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/telephony/phonedev.c

index 4d8c2a5b3297fdb2447f764ac8f5974277d936fd..bcea8d9b718ce782da7f1e3fdb20d4d278d9d00e 100644 (file)
@@ -120,9 +120,8 @@ int phone_register_device(struct phone_device *p, int unit)
 void phone_unregister_device(struct phone_device *pfd)
 {
        mutex_lock(&phone_lock);
-       if (phone_device[pfd->minor] != pfd)
-               panic("phone: bad unregister");
-       phone_device[pfd->minor] = NULL;
+       if (likely(phone_device[pfd->minor] == pfd))
+               phone_device[pfd->minor] = NULL;
        mutex_unlock(&phone_lock);
 }