• Guillaume Chazarain's avatar
    asus-laptop: Fix rmmod of asus_laptop · e1996a69
    Guillaume Chazarain authored
    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 leds
    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: default avatarGuillaume Chazarain <guichaz@yahoo.fr>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    e1996a69
asus-laptop.c 32.2 KB