summaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorDmitry Torokhov2006-04-29 07:13:48 +0200
committerDmitry Torokhov2006-04-29 07:13:48 +0200
commit8fdc19486f4d3b0fc5f1c7ce69fe5f7b1c653e62 (patch)
tree76b12c40bf4724e0d8ac52990bc043f03cc0e5cb /drivers/input
parentInput: ressurect EVIOCGREP and EVIOCSREP (diff)
downloadkernel-qcow2-linux-8fdc19486f4d3b0fc5f1c7ce69fe5f7b1c653e62.tar.gz
kernel-qcow2-linux-8fdc19486f4d3b0fc5f1c7ce69fe5f7b1c653e62.tar.xz
kernel-qcow2-linux-8fdc19486f4d3b0fc5f1c7ce69fe5f7b1c653e62.zip
Input: make EVIOCGSND return meaningful data
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/input.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 591c70d80cd8..3038c268917d 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -155,6 +155,9 @@ void input_event(struct input_dev *dev, unsigned int type, unsigned int code, in
if (code > SND_MAX || !test_bit(code, dev->sndbit))
return;
+ if (!!test_bit(code, dev->snd) != !!value)
+ change_bit(code, dev->snd);
+
if (dev->event) dev->event(dev, type, code, value);
break;