diff options
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 a935abeffffc..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 | |||
| 155 | if (code > SND_MAX || !test_bit(code, dev->sndbit)) | 155 | if (code > SND_MAX || !test_bit(code, dev->sndbit)) |
| 156 | return; | 156 | return; |
| 157 | 157 | ||
| 158 | if (!!test_bit(code, dev->snd) != !!value) | ||
| 159 | change_bit(code, dev->snd); | ||
| 160 | |||
| 158 | if (dev->event) dev->event(dev, type, code, value); | 161 | if (dev->event) dev->event(dev, type, code, value); |
| 159 | 162 | ||
| 160 | break; | 163 | break; |
| @@ -286,19 +289,19 @@ static struct input_device_id *input_match_device(struct input_device_id *id, st | |||
| 286 | for (; id->flags || id->driver_info; id++) { | 289 | for (; id->flags || id->driver_info; id++) { |
| 287 | 290 | ||
| 288 | if (id->flags & INPUT_DEVICE_ID_MATCH_BUS) | 291 | if (id->flags & INPUT_DEVICE_ID_MATCH_BUS) |
| 289 | if (id->id.bustype != dev->id.bustype) | 292 | if (id->bustype != dev->id.bustype) |
| 290 | continue; | 293 | continue; |
| 291 | 294 | ||
| 292 | if (id->flags & INPUT_DEVICE_ID_MATCH_VENDOR) | 295 | if (id->flags & INPUT_DEVICE_ID_MATCH_VENDOR) |
| 293 | if (id->id.vendor != dev->id.vendor) | 296 | if (id->vendor != dev->id.vendor) |
| 294 | continue; | 297 | continue; |
| 295 | 298 | ||
| 296 | if (id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT) | 299 | if (id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT) |
| 297 | if (id->id.product != dev->id.product) | 300 | if (id->product != dev->id.product) |
| 298 | continue; | 301 | continue; |
| 299 | 302 | ||
| 300 | if (id->flags & INPUT_DEVICE_ID_MATCH_VERSION) | 303 | if (id->flags & INPUT_DEVICE_ID_MATCH_VERSION) |
| 301 | if (id->id.version != dev->id.version) | 304 | if (id->version != dev->id.version) |
| 302 | continue; | 305 | continue; |
| 303 | 306 | ||
| 304 | MATCH_BIT(evbit, EV_MAX); | 307 | MATCH_BIT(evbit, EV_MAX); |
