From: Pete Zaitcev 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: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman --- drivers/usb/input/hid-input.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) --- gregkh-2.6.orig/drivers/usb/input/hid-input.c 2005-07-29 11:29:47.000000000 -0700 +++ gregkh-2.6/drivers/usb/input/hid-input.c 2005-07-29 11:36:35.000000000 -0700 @@ -397,11 +397,12 @@ 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); --