|
@@ -952,8 +952,12 @@ static int i8042_resume(struct platform_device *dev)
|
|
|
i8042_ctr |= I8042_CTR_AUXDIS | I8042_CTR_KBDDIS;
|
|
|
i8042_ctr &= ~(I8042_CTR_AUXINT | I8042_CTR_KBDINT);
|
|
|
if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
|
|
|
- printk(KERN_ERR "i8042: Can't write CTR to resume\n");
|
|
|
- return -EIO;
|
|
|
+ printk(KERN_WARNING "i8042: Can't write CTR to resume, retrying...\n");
|
|
|
+ msleep(50);
|
|
|
+ if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
|
|
|
+ printk(KERN_ERR "i8042: CTR write retry failed\n");
|
|
|
+ return -EIO;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|