diff options
author | David Woodhouse <dwmw2@infradead.org> | 2006-05-01 16:24:37 +0100 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-05-01 16:24:37 +0100 |
commit | 2683e88413977a7f382106f8e8b3b684a597c761 (patch) | |
tree | 96f56121c3afed843fb705cbc75aa85cf9038fd0 /drivers/input/input.c | |
parent | b07019f29328ebb1b48d3faf952b84f07ec9b973 (diff) | |
parent | 9f29333dae3488542b1344871e8ecb84084ad80e (diff) | |
download | op-kernel-dev-2683e88413977a7f382106f8e8b3b684a597c761.zip op-kernel-dev-2683e88413977a7f382106f8e8b3b684a597c761.tar.gz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Reverting c7afb48eb5147be9eb9789b4161462d246451ac2 since a better (but
more intrusive) fix is now merged upstream.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/input/input.c')
-rw-r--r-- | drivers/input/input.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c index a935abe..3038c26 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; @@ -286,19 +289,19 @@ static struct input_device_id *input_match_device(struct input_device_id *id, st for (; id->flags || id->driver_info; id++) { if (id->flags & INPUT_DEVICE_ID_MATCH_BUS) - if (id->id.bustype != dev->id.bustype) + if (id->bustype != dev->id.bustype) continue; if (id->flags & INPUT_DEVICE_ID_MATCH_VENDOR) - if (id->id.vendor != dev->id.vendor) + if (id->vendor != dev->id.vendor) continue; if (id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT) - if (id->id.product != dev->id.product) + if (id->product != dev->id.product) continue; if (id->flags & INPUT_DEVICE_ID_MATCH_VERSION) - if (id->id.version != dev->id.version) + if (id->version != dev->id.version) continue; MATCH_BIT(evbit, EV_MAX); |