clocksource, acpi_pm.c: use proper read function also in errata mode
authorDominik Brodowski <linux@dominikbrodowski.net>
Fri, 5 Sep 2008 21:05:33 +0000 (14:05 -0700)
committerIngo Molnar <mingo@elte.hu>
Sat, 6 Sep 2008 13:33:31 +0000 (15:33 +0200)
commitdfdf748a61a21b7397b9f57c83de722de71dc56a
tree78fce25782a3a313a4d8db4464a849e66cc77fa8
parent4ff4b9e19a80b73959ebeb28d1df40176686f0a8
clocksource, acpi_pm.c: use proper read function also in errata mode

On all hardware (some Intel ICH4, PIIX4 and PIIX4E chipsets) affected by a
hardware errata there's about a 4.2% chance that initialization of the
ACPI PMTMR fails.  On those chipsets, we need to read out the timer value
at least three times to get a correct result, for every once in a while
(i.e.  within a 3 ns window every 69.8 ns) the read returns a bogus
result.  During normal operation we work around this issue, but during
initialization reading a bogus value may lead to -EINVAL even though the
hardware is usable.

Thanks to Andreas Mohr for spotting this issue.

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
drivers/clocksource/acpi_pm.c