From: Pete Zaitcev <zaitcev@redhat.com>

It seems that I see a bug in hidinput_hid_event.  The check for NULL can never
work, becaue &hidinput->input is nonzero at all times.

Cc: <vojtech@suse.cz>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/usb/input/hid-input.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff -puN drivers/usb/input/hid-input.c~usb-hidinput_hid_event-oops-fix drivers/usb/input/hid-input.c
--- devel/drivers/usb/input/hid-input.c~usb-hidinput_hid_event-oops-fix	2005-07-25 20:49:18.000000000 -0700
+++ devel-akpm/drivers/usb/input/hid-input.c	2005-07-25 20:49:18.000000000 -0700
@@ -445,11 +445,12 @@ ignore:
 
 void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, struct pt_regs *regs)
 {
-	struct input_dev *input = &field->hidinput->input;
+	struct input_dev *input;
 	int *quirks = &hid->quirks;
 
-	if (!input)
+	if (!field->hidinput)
 		return;
+	input = &field->hidinput->input;
 
 	input_regs(input, regs);
 
_