From: Stephen Hemminger Need to stop any device polling on shutdown. Without this, the laptop can sometimes not turn off. Signed-off-by: Stephen Hemminger Cc: Dmitry Torokhov Cc: Jiri Kosina Signed-off-by: Andrew Morton --- drivers/input/misc/apanel.c | 6 ++++++ 1 file changed, 6 insertions(+) diff -puN drivers/input/misc/apanel.c~apanel-detach-on-shutdown drivers/input/misc/apanel.c --- a/drivers/input/misc/apanel.c~apanel-detach-on-shutdown +++ a/drivers/input/misc/apanel.c @@ -193,12 +193,18 @@ static int apanel_attach_adapter(struct return i2c_probe(adap, &addr_data, apanel_probe); } +static void apanel_shutdown(struct i2c_client *client) +{ + apanel_detach_client(client); +} + static struct i2c_driver apanel_driver = { .driver = { .name = APANEL, }, .attach_adapter = &apanel_attach_adapter, .detach_client = &apanel_detach_client, + .shutdown = &apanel_shutdown, }; static struct apanel apanel = { _