diff options
| -rw-r--r-- | drivers/acpi/sbshc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/acpi/sbshc.c b/drivers/acpi/sbshc.c index bcf2c70fca87..a4e3767b8c64 100644 --- a/drivers/acpi/sbshc.c +++ b/drivers/acpi/sbshc.c | |||
| @@ -107,6 +107,13 @@ static int wait_transaction_complete(struct acpi_smb_hc *hc, int timeout) | |||
| 107 | if (wait_event_timeout(hc->wait, smb_check_done(hc), | 107 | if (wait_event_timeout(hc->wait, smb_check_done(hc), |
| 108 | msecs_to_jiffies(timeout))) | 108 | msecs_to_jiffies(timeout))) |
| 109 | return 0; | 109 | return 0; |
| 110 | /* | ||
| 111 | * After the timeout happens, OS will try to check the status of SMbus. | ||
| 112 | * If the status is what OS expected, it will be regarded as the bogus | ||
| 113 | * timeout. | ||
| 114 | */ | ||
| 115 | if (smb_check_done(hc)) | ||
| 116 | return 0; | ||
| 110 | else | 117 | else |
| 111 | return -ETIME; | 118 | return -ETIME; |
| 112 | } | 119 | } |
