diff options
author | Jan Beulich <jbeulich@novell.com> | 2008-04-22 11:28:41 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-26 11:35:46 -0400 |
commit | 86d78f640257344cc90a50da8cd52297ba1c6bdf (patch) | |
tree | 0d19a04db723148b9e4fddbbdf6407126f167755 /arch/x86 | |
parent | b11caa7c7063ea92a0a58115d3fc6d038ed89510 (diff) |
x86: fix watchdog ops for CoreDuo
There apparently was an unnoticed conflict between an earlier patch to
this file and mine (d1e084746b0e5806e6345ab31c5b370f8dee2b23), which
I noticed only now. I suppose a change like the one below (untested) is
needed; I didn't get any response on a confirmation request for this from
the submitter of the first patch.
The issue is the writing of the 'checkbit' member at the end of
setup_intel_arch_watchdog(), which my patch made go to intel_arch_wd_ops
rather than wd_ops.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/cpu/perfctr-watchdog.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/arch/x86/kernel/cpu/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c index b943e10ad814..f9ae93adffe5 100644 --- a/arch/x86/kernel/cpu/perfctr-watchdog.c +++ b/arch/x86/kernel/cpu/perfctr-watchdog.c | |||
@@ -614,16 +614,6 @@ static struct wd_ops intel_arch_wd_ops __read_mostly = { | |||
614 | .evntsel = MSR_ARCH_PERFMON_EVENTSEL1, | 614 | .evntsel = MSR_ARCH_PERFMON_EVENTSEL1, |
615 | }; | 615 | }; |
616 | 616 | ||
617 | static struct wd_ops coreduo_wd_ops = { | ||
618 | .reserve = single_msr_reserve, | ||
619 | .unreserve = single_msr_unreserve, | ||
620 | .setup = setup_intel_arch_watchdog, | ||
621 | .rearm = p6_rearm, | ||
622 | .stop = single_msr_stop_watchdog, | ||
623 | .perfctr = MSR_ARCH_PERFMON_PERFCTR0, | ||
624 | .evntsel = MSR_ARCH_PERFMON_EVENTSEL0, | ||
625 | }; | ||
626 | |||
627 | static void probe_nmi_watchdog(void) | 617 | static void probe_nmi_watchdog(void) |
628 | { | 618 | { |
629 | switch (boot_cpu_data.x86_vendor) { | 619 | switch (boot_cpu_data.x86_vendor) { |
@@ -637,8 +627,8 @@ static void probe_nmi_watchdog(void) | |||
637 | /* Work around Core Duo (Yonah) errata AE49 where perfctr1 | 627 | /* Work around Core Duo (Yonah) errata AE49 where perfctr1 |
638 | doesn't have a working enable bit. */ | 628 | doesn't have a working enable bit. */ |
639 | if (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 14) { | 629 | if (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 14) { |
640 | wd_ops = &coreduo_wd_ops; | 630 | intel_arch_wd_ops.perfctr = MSR_ARCH_PERFMON_PERFCTR0; |
641 | break; | 631 | intel_arch_wd_ops.evntsel = MSR_ARCH_PERFMON_EVENTSEL0; |
642 | } | 632 | } |
643 | if (cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON)) { | 633 | if (cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON)) { |
644 | wd_ops = &intel_arch_wd_ops; | 634 | wd_ops = &intel_arch_wd_ops; |