summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/hpet.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-04-27 16:04:14 +0400
committerIngo Molnar <mingo@elte.hu>2008-05-01 01:15:34 +0400
commitfc3fbc45098e5aff59f06962dee79aba2e11430d (patch)
tree6eff2b4d7a0735c3d0631b6479a5af09d7894437 /arch/x86/kernel/hpet.c
parentb9e017e04be672244502a0567fb752973556f388 (diff)
downloadlinux-fc3fbc45098e5aff59f06962dee79aba2e11430d.tar.xz
hpet: fix
Al Viro pointed out that there's a missing readl() of timer->hpet_config, found by Sparse. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/hpet.c')
-rw-r--r--arch/x86/kernel/hpet.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 9007f9ea64ee..9b5cfcdfc426 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -137,9 +137,10 @@ static void hpet_reserve_platform_timers(unsigned long id)
hd.hd_irq[0] = HPET_LEGACY_8254;
hd.hd_irq[1] = HPET_LEGACY_RTC;
- for (i = 2; i < nrtimers; timer++, i++)
- hd.hd_irq[i] = (timer->hpet_config & Tn_INT_ROUTE_CNF_MASK) >>
+ for (i = 2; i < nrtimers; timer++, i++) {
+ hd.hd_irq[i] = (readl(&timer->hpet_config) & Tn_INT_ROUTE_CNF_MASK) >>
Tn_INT_ROUTE_CNF_SHIFT;
+ }
hpet_alloc(&hd);