Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86d78f64 authored by Jan Beulich's avatar Jan Beulich Committed by Ingo Molnar
Browse files

x86: fix watchdog ops for CoreDuo



There apparently was an unnoticed conflict between an earlier patch to
this file and mine (d1e08474), 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: default avatarJan Beulich <jbeulich@novell.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent b11caa7c
Loading
Loading
Loading
Loading
+2 −12
Original line number Diff line number Diff line
@@ -614,16 +614,6 @@ static struct wd_ops intel_arch_wd_ops __read_mostly = {
	.evntsel = MSR_ARCH_PERFMON_EVENTSEL1,
};

static struct wd_ops coreduo_wd_ops = {
	.reserve = single_msr_reserve,
	.unreserve = single_msr_unreserve,
	.setup = setup_intel_arch_watchdog,
	.rearm = p6_rearm,
	.stop = single_msr_stop_watchdog,
	.perfctr = MSR_ARCH_PERFMON_PERFCTR0,
	.evntsel = MSR_ARCH_PERFMON_EVENTSEL0,
};

static void probe_nmi_watchdog(void)
{
	switch (boot_cpu_data.x86_vendor) {
@@ -637,8 +627,8 @@ static void probe_nmi_watchdog(void)
		/* Work around Core Duo (Yonah) errata AE49 where perfctr1
		   doesn't have a working enable bit. */
		if (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 14) {
			wd_ops = &coreduo_wd_ops;
			break;
			intel_arch_wd_ops.perfctr = MSR_ARCH_PERFMON_PERFCTR0;
			intel_arch_wd_ops.evntsel = MSR_ARCH_PERFMON_EVENTSEL0;
		}
		if (cpu_has(&boot_cpu_data, X86_FEATURE_ARCH_PERFMON)) {
			wd_ops = &intel_arch_wd_ops;