aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/char/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/char/keyboard.c')
-rw-r--r--drivers/s390/char/keyboard.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/s390/char/keyboard.c b/drivers/s390/char/keyboard.c
index cb6bffe7141a..24021fd7de25 100644
--- a/drivers/s390/char/keyboard.c
+++ b/drivers/s390/char/keyboard.c
@@ -49,7 +49,7 @@ static unsigned char ret_diacr[NR_DEAD] = {
49struct kbd_data * 49struct kbd_data *
50kbd_alloc(void) { 50kbd_alloc(void) {
51 struct kbd_data *kbd; 51 struct kbd_data *kbd;
52 int i, len; 52 int i;
53 53
54 kbd = kzalloc(sizeof(struct kbd_data), GFP_KERNEL); 54 kbd = kzalloc(sizeof(struct kbd_data), GFP_KERNEL);
55 if (!kbd) 55 if (!kbd)
@@ -72,11 +72,10 @@ kbd_alloc(void) {
72 goto out_maps; 72 goto out_maps;
73 for (i = 0; i < ARRAY_SIZE(func_table); i++) { 73 for (i = 0; i < ARRAY_SIZE(func_table); i++) {
74 if (func_table[i]) { 74 if (func_table[i]) {
75 len = strlen(func_table[i]) + 1; 75 kbd->func_table[i] = kstrdup(func_table[i],
76 kbd->func_table[i] = kmalloc(len, GFP_KERNEL); 76 GFP_KERNEL);
77 if (!kbd->func_table[i]) 77 if (!kbd->func_table[i])
78 goto out_func; 78 goto out_func;
79 memcpy(kbd->func_table[i], func_table[i], len);
80 } 79 }
81 } 80 }
82 kbd->fn_handler = 81 kbd->fn_handler =