summaryrefslogtreecommitdiffstats
path: root/drivers/input/apm-power.c
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2008-03-24 16:02:06 +0100
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2008-03-24 16:02:06 +0100
commit481419ec9fbdf3f4ec5389c7e91a81b4a7ebee8d (patch)
treee208ea6610a99da05fc5f1eb0e64cad16882f231 /drivers/input/apm-power.c
parentInput: pxa27x - fix keypad KPC macros (diff)
downloadlinux-481419ec9fbdf3f4ec5389c7e91a81b4a7ebee8d.tar.xz
linux-481419ec9fbdf3f4ec5389c7e91a81b4a7ebee8d.zip
Input: apm-power - fix crash when unloading modules
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>
Diffstat (limited to 'drivers/input/apm-power.c')
-rw-r--r--drivers/input/apm-power.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/input/apm-power.c b/drivers/input/apm-power.c
index c36d110b349a..7d61a9660806 100644
--- a/drivers/input/apm-power.c
+++ b/drivers/input/apm-power.c
@@ -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);
}