HID: fix suspend crash by moving initializations earlier
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 7 May 2010 14:41:10 +0000 (10:41 -0400)
committerJiri Kosina <jkosina@suse.cz>
Fri, 7 May 2010 21:33:52 +0000 (23:33 +0200)
commitfde4e2f73208b8f34f123791e39c0cb6bc74b32a
tree0a0e85f2f83ddc8d7945c617709e582993438971
parentfddb33f2e8872fa4857dd29f0b71a523c9ed5577
HID: fix suspend crash by moving initializations earlier

Although the usbhid driver allocates its usbhid structure in the probe
routine, several critical fields in that structure don't get
initialized until usbhid_start().  However if report descriptor
parsing fails then usbhid_start() is never called.  This leads to
problems during system suspend -- the system will freeze.

This patch (as1378) fixes the bug by moving the initialization
statements up into usbhid_probe().

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Bruno Prémont <bonbons@linux-vserver.org>
Tested-By: Bruno Prémont <bonbons@linux-vserver.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/usbhid/hid-core.c