aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/sbshc.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-09-05 14:27:12 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-09-05 14:27:12 -0700
commit41c9229498a2eb89db1c0a77321c61b448738de4 (patch)
tree63e4c4b36191a46ead79160607cb907145f453f5 /drivers/acpi/sbshc.c
parentRevert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM" (diff)
parentMerge branch 'wmi-fix' into release-2.6.27 (diff)
downloadlinux-dev-41c9229498a2eb89db1c0a77321c61b448738de4.tar.xz
linux-dev-41c9229498a2eb89db1c0a77321c61b448738de4.zip
Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6
* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6: acer-wmi: remove debugfs entries upon unloading ACPI: Avoid bogus timeout about SMbus check fujitsu-laptop: fix regression for P8010 in 2.6.27-rc ACPI: Make Len Brown the ACPI maintainer again ACPI: thinkpad-acpi: wan radio control is not experimental PNPACPI: ignore the producer/consumer bit for extended IRQ descriptors acpi: add checking for NULL early param ACPI: Fix typo in "Disable MWAIT via DMI on broken Compal board" ACPI: Fix now signed module parameter. ACPI: Change package length error to warning ACPI: Fix now signed module parameter.
Diffstat (limited to 'drivers/acpi/sbshc.c')
-rw-r--r--drivers/acpi/sbshc.c7
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)
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;
}