diff options
Diffstat (limited to 'drivers/input/input.c')
| -rw-r--r-- | drivers/input/input.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c index afd4e2b7658..9c79bd56b51 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -660,7 +660,14 @@ static int input_default_setkeycode(struct input_dev *dev,  int input_get_keycode(struct input_dev *dev,  		      unsigned int scancode, unsigned int *keycode)  { -	return dev->getkeycode(dev, scancode, keycode); +	unsigned long flags; +	int retval; + +	spin_lock_irqsave(&dev->event_lock, flags); +	retval = dev->getkeycode(dev, scancode, keycode); +	spin_unlock_irqrestore(&dev->event_lock, flags); + +	return retval;  }  EXPORT_SYMBOL(input_get_keycode);  |