aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2008-02-07 10:48:46 -0500
committerJiri Kosina <jkosina@suse.cz>2008-02-11 07:01:51 -0500
commit68a1f2cc8676f22a6fd49f344f99e326eb7f5117 (patch)
treed71703b0cbb0f13b8b183e8d512872e8ef763ed5 /drivers/hid/hid-input.c
parentdda3fd3535566b4d2b450dded23f1334a5f60bd6 (diff)
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 5325d98b4328..43342785110c 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
854 return; 854 return;
855 855
856 /* handle input events for quirky devices */ 856 /* handle input events for quirky devices */
857 hidinput_event_quirks(hid, field, usage, value); 857 if (hidinput_event_quirks(hid, field, usage, value))
858 return;
858 859
859 if (usage->hat_min < usage->hat_max || usage->hat_dir) { 860 if (usage->hat_min < usage->hat_max || usage->hat_dir) {
860 int hat_dir = usage->hat_dir; 861 int hat_dir = usage->hat_dir;