diff options
| -rw-r--r-- | drivers/input/serio/i8042.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 592ff55b62d0..170f71ee5772 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c | |||
| @@ -952,8 +952,12 @@ static int i8042_resume(struct platform_device *dev) | |||
| 952 | i8042_ctr |= I8042_CTR_AUXDIS | I8042_CTR_KBDDIS; | 952 | i8042_ctr |= I8042_CTR_AUXDIS | I8042_CTR_KBDDIS; |
| 953 | i8042_ctr &= ~(I8042_CTR_AUXINT | I8042_CTR_KBDINT); | 953 | i8042_ctr &= ~(I8042_CTR_AUXINT | I8042_CTR_KBDINT); |
| 954 | if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { | 954 | if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { |
| 955 | printk(KERN_ERR "i8042: Can't write CTR to resume\n"); | 955 | printk(KERN_WARNING "i8042: Can't write CTR to resume, retrying...\n"); |
| 956 | return -EIO; | 956 | msleep(50); |
| 957 | if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { | ||
| 958 | printk(KERN_ERR "i8042: CTR write retry failed\n"); | ||
| 959 | return -EIO; | ||
| 960 | } | ||
| 957 | } | 961 | } |
| 958 | 962 | ||
| 959 | 963 | ||
