HID: hyperv: Set the hid drvdata correctly
authorK. Y. Srinivasan <kys@microsoft.com>
Wed, 16 May 2012 20:50:13 +0000 (13:50 -0700)
committerJiri Kosina <jkosina@suse.cz>
Thu, 17 May 2012 08:01:07 +0000 (10:01 +0200)
Set the hid drvdata prior to invoking hid_add_device() as hid_add_device()
expects this state to be set. This bug was introduced in the recent hid
changes that were made in 07d9ab4f0e52cb ("HID: hid-hyperv: Do not use
hid_parse_report() directly").

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-hyperv.c

index 032e6c0798262619b23d3d3948d62825a50b3d47..3d62781b89939126f856e69bee44e1f496e40185 100644 (file)
@@ -516,11 +516,12 @@ static int mousevsc_probe(struct hv_device *device,
 
        sprintf(hid_dev->name, "%s", "Microsoft Vmbus HID-compliant Mouse");
 
+       hid_set_drvdata(hid_dev, device);
+
        ret = hid_add_device(hid_dev);
        if (ret)
                goto probe_err1;
 
-       hid_set_drvdata(hid_dev, device);
 
        ret = hid_parse(hid_dev);
        if (ret) {