Subject: ACPI: Avoid bogus timeout about SMbus check >From : Zhao Yakui <yakui.zhao@xxxxxxxxx> In the function of wait_transaction_complete when the timeout happens, OS will try to check the status of SMbus again. If the status is what OS expected, it will be regarded as the bogus timeout. Otherwise it will be treated as ETIME. http://bugzilla.kernel.org/show_bug.cgi?id=10483 Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> tested-by : Oldřich Jedlička < <oldium.pro@xxxxxxxxx> --- drivers/acpi/sbshc.c | 7 +++++++ 1 file changed, 7 insertions(+) Index: linux-2.6/drivers/acpi/sbshc.c =================================================================== --- linux-2.6.orig/drivers/acpi/sbshc.c +++ linux-2.6/drivers/acpi/sbshc.c @@ -107,6 +107,13 @@ static int wait_transaction_complete(str if (wait_event_timeout(hc->wait, smb_check_done(hc), msecs_to_jiffies(timeout))) return 0; + /* + * After the timeout happens, OS will try to check the status of SMbus. + * If the status is what OS expected, it will be regarded as the bogus + * timeout. + */ + if (smb_check_done(hc)) + return 0; else return -ETIME; } -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html