summaryrefslogtreecommitdiff
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2008-02-07 15:48:46 (GMT)
committerJiri Kosina <jkosina@suse.cz>2008-02-11 12:01:51 (GMT)
commit68a1f2cc8676f22a6fd49f344f99e326eb7f5117 (patch)
treed71703b0cbb0f13b8b183e8d512872e8ef763ed5 /drivers/hid/hid-input.c
parentdda3fd3535566b4d2b450dded23f1334a5f60bd6 (diff)
downloadlinux-68a1f2cc8676f22a6fd49f344f99e326eb7f5117.tar.xz
HID: fix processing of event quirks
The old code (before move) stopped further processing of the event after it has been already processed by the quirk handler. The new code didn't propagate the return value properly, and therefore the processing always proceeded, which was wrong. This patch fixes it. Pointed out in kernel.org bugzilla #9842 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r--drivers/hid/hid-input.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 5325d98..4334278 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -854,7 +854,8 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
return;
/* handle input events for quirky devices */
- hidinput_event_quirks(hid, field, usage, value);
+ if (hidinput_event_quirks(hid, field, usage, value))
+ return;
if (usage->hat_min < usage->hat_max || usage->hat_dir) {
int hat_dir = usage->hat_dir;