Input: make EVIOCGSND return meaningful data
authorDmitry Torokhov <dtor_core@ameritech.net>
Sat, 29 Apr 2006 05:13:48 +0000 (01:13 -0400)
committerDmitry Torokhov <dtor_core@ameritech.net>
Sat, 29 Apr 2006 05:13:48 +0000 (01:13 -0400)
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/input.c

index 591c70d80cd8fa90ff9ca6d1d1a250af7d7a8e82..3038c268917d7598091e0d80f9f3a1a9cd1f4725 100644 (file)
@@ -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;