diff options
Diffstat (limited to 'drivers/char/keyboard.c')
-rw-r--r-- | drivers/char/keyboard.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c index 9769bf8279a6..60b934adea65 100644 --- a/drivers/char/keyboard.c +++ b/drivers/char/keyboard.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/input.h> | 42 | #include <linux/input.h> |
43 | #include <linux/reboot.h> | 43 | #include <linux/reboot.h> |
44 | #include <linux/notifier.h> | 44 | #include <linux/notifier.h> |
45 | #include <linux/jiffies.h> | ||
45 | 46 | ||
46 | extern void ctrl_alt_del(void); | 47 | extern void ctrl_alt_del(void); |
47 | 48 | ||
@@ -928,7 +929,8 @@ static void k_brl(struct vc_data *vc, unsigned char value, char up_flag) | |||
928 | if (up_flag) { | 929 | if (up_flag) { |
929 | if (brl_timeout) { | 930 | if (brl_timeout) { |
930 | if (!committing || | 931 | if (!committing || |
931 | jiffies - releasestart > (brl_timeout * HZ) / 1000) { | 932 | time_after(jiffies, |
933 | releasestart + msecs_to_jiffies(brl_timeout))) { | ||
932 | committing = pressed; | 934 | committing = pressed; |
933 | releasestart = jiffies; | 935 | releasestart = jiffies; |
934 | } | 936 | } |
@@ -1238,6 +1240,7 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw) | |||
1238 | } | 1240 | } |
1239 | 1241 | ||
1240 | param.shift = shift_final = (shift_state | kbd->slockstate) ^ kbd->lockstate; | 1242 | param.shift = shift_final = (shift_state | kbd->slockstate) ^ kbd->lockstate; |
1243 | param.ledstate = kbd->ledflagstate; | ||
1241 | key_map = key_maps[shift_final]; | 1244 | key_map = key_maps[shift_final]; |
1242 | 1245 | ||
1243 | if (atomic_notifier_call_chain(&keyboard_notifier_list, KBD_KEYCODE, ¶m) == NOTIFY_STOP || !key_map) { | 1246 | if (atomic_notifier_call_chain(&keyboard_notifier_list, KBD_KEYCODE, ¶m) == NOTIFY_STOP || !key_map) { |
@@ -1286,6 +1289,7 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw) | |||
1286 | 1289 | ||
1287 | (*k_handler[type])(vc, keysym & 0xff, !down); | 1290 | (*k_handler[type])(vc, keysym & 0xff, !down); |
1288 | 1291 | ||
1292 | param.ledstate = kbd->ledflagstate; | ||
1289 | atomic_notifier_call_chain(&keyboard_notifier_list, KBD_POST_KEYSYM, ¶m); | 1293 | atomic_notifier_call_chain(&keyboard_notifier_list, KBD_POST_KEYSYM, ¶m); |
1290 | 1294 | ||
1291 | if (type != KT_SLOCK) | 1295 | if (type != KT_SLOCK) |