From: Benjamin Tissoires Date: Tue, 15 Feb 2011 14:41:10 +0000 (+0100) Subject: HID: kernel oops in out_cleanup in function hidinput_connect X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d9236303d0b7ba8bbaeb6adbbf088c3fe2a9ab9e;p=linux-beck.git HID: kernel oops in out_cleanup in function hidinput_connect Goto out_cleanup infers a kernel oops: hidinput_disconnect calls input_unregister_driver to all members of hid->inputs. However, hidinput already has been added to hid->inputs even though input_register_device was not called. Signed-off-by: Benjamin Tissoires Reviewed-by: Dmitry Torokhov Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 7f552bfad32c..f53911dcdc2d 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -928,6 +928,7 @@ int hidinput_connect(struct hid_device *hid, unsigned int force) return 0; out_cleanup: + list_del(&hidinput->list); input_free_device(hidinput->input); kfree(hidinput); out_unwind: