From: Jiri Kosina Date: Wed, 7 Jan 2009 12:25:36 +0000 (+0100) Subject: HID: fix hid->hiddev initialization in hiddev_connect() X-Git-Tag: v2.6.29-rc1~198 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=76052749143d03006271cc0ce8205ad756917062;p=~shefty%2Frdma-dev.git 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 --- diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 6a98f9f572b..d73eea382ab 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 {