From 76052749143d03006271cc0ce8205ad756917062 Mon Sep 17 00:00:00 2001 From: Jiri Kosina Date: Wed, 7 Jan 2009 13:25:36 +0100 Subject: [PATCH] HID: fix hid->hiddev initialization in hiddev_connect() Commit 079034073fa ("HID: hiddev cleanup -- handle all error conditions properly") by mistake removed proper initialization of hid->hiddev pointer in hiddev_connect() in case usb_register_dev() succeeds for the hiddev node. Put it properly back in place. Reported-and-tested-by: Gabriel C Signed-off-by: Jiri Kosina Signed-off-by: Linus Torvalds --- drivers/hid/usbhid/hiddev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 6a98f9f..d73eea3 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c @@ -874,12 +874,14 @@ int hiddev_connect(struct hid_device *hid, unsigned int force) INIT_LIST_HEAD(&hiddev->list); spin_lock_init(&hiddev->list_lock); mutex_init(&hiddev->existancelock); + hid->hiddev = hiddev; hiddev->hid = hid; hiddev->exist = 1; retval = usb_register_dev(usbhid->intf, &hiddev_class); if (retval) { err_hid("Not able to get a minor for this device."); + hid->hiddev = NULL; kfree(hiddev); return -1; } else { -- 2.7.4