[patch 29/29] USB: hidinput_hid_event() oops fix

Greg KH
2005-07-30T00:53:22Z

[-- Attachment #1: usb-hidinput_hid_event-oops-fix.patch --]
[-- Type: text/plain, Size: 953 bytes --]

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>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
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);

--