Commit:     e1996a69e162b1c99c3d3802684d1c388b54f47d
Parent:     b377fd3982ad957c796758a90e2988401a884241
Author:     Guillaume Chazarain <[EMAIL PROTECTED]>
AuthorDate: Thu Aug 16 18:18:53 2007 +0200
Committer:  Len Brown <[EMAIL PROTECTED]>
CommitDate: Fri Aug 24 01:07:30 2007 -0400

    asus-laptop: Fix rmmod of asus_laptop
    The asus laptop driver conditionnaly registers leds in asus_led_register()
    depending on their availability, but unconditionnaly unregisters them all at
    exit time or when the module fails to load. Unregistering not registered 
    result in the following Oops. So we should check before unregistering.
     [<c032d2f9>] do_page_fault+0x511/0x5e9
     [<c032bae2>] error_code+0x6a/0x70
     [<c026abf8>] device_unregister+0x26/0x32
     [<f8864218>] led_classdev_unregister+0x58/0x94 [led_class]
     [<f88a90f8>] asus_led_exit+0x17/0x41 [asus_laptop]
     [<f88a91c9>] asus_laptop_exit+0xd/0x3f [asus_laptop]
     [<c013cee1>] sys_delete_module+0x17b/0x1a2
     [<c0106eae>] sysenter_past_esp+0x6b/0xa1
    EIP: [<c026a9a3>] device_del+0xb/0x23a SS:ESP 0068:f594ef0c
    Signed-off-by: Guillaume Chazarain <[EMAIL PROTECTED]>
    Signed-off-by: Len Brown <[EMAIL PROTECTED]>
 drivers/misc/asus-laptop.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/misc/asus-laptop.c b/drivers/misc/asus-laptop.c
index d0fc4fd..40db9f7 100644
--- a/drivers/misc/asus-laptop.c
+++ b/drivers/misc/asus-laptop.c
@@ -1072,7 +1072,8 @@ static void asus_backlight_exit(void)
 #define  ASUS_LED_UNREGISTER(object)                           \
-       led_classdev_unregister(&object##_led)
+       if (                                   \
+               led_classdev_unregister(&object##_led)
 static void asus_led_exit(void)
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to