Input: apm-power - fix crash when unloading modules
Helge Deller [Mon, 24 Mar 2008 15:02:06 +0000 (11:02 -0400)]
Fix a crash in the apm-power driver when an input-device, such as
keyboard driver module, is unloaded.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

drivers/input/apm-power.c

index c36d110..7d61a96 100644 (file)
@@ -63,8 +63,6 @@ static int apmpower_connect(struct input_handler *handler,
        handle->handler = handler;
        handle->name = "apm-power";
 
-       handler->private = handle;
-
        error = input_register_handle(handle);
        if (error) {
                printk(KERN_ERR
@@ -87,11 +85,10 @@ static int apmpower_connect(struct input_handler *handler,
        return 0;
 }
 
-static void apmpower_disconnect(struct input_handle *handler)
+static void apmpower_disconnect(struct input_handle *handle)
 {
-       struct input_handle *handle = handler->private;
-
        input_close_device(handle);
+       input_unregister_handle(handle);
        kfree(handle);
 }