Esempio n. 1
0
static void acpi_nmi_disable_one(void *__unused)
{
	if (__get_cpu_var(wd_enabled) == 0)
		return;
	__acpi_nmi_disable(NULL);
	__get_cpu_var(wd_enabled) = 0;
	if (atomic_dec_and_test(&nmi_watchdog_active))
		nmi_active = 0;
}
Esempio n. 2
0
void stop_apic_nmi_watchdog(void *unused)
{
	/* only support LOCAL and IO APICs for now */
	if (!nmi_watchdog_active())
		return;
	if (__get_cpu_var(wd_enabled) == 0)
		return;
	if (nmi_watchdog == NMI_LOCAL_APIC)
		lapic_watchdog_stop();
	else
		__acpi_nmi_disable(NULL);
	__get_cpu_var(wd_enabled) = 0;
	atomic_dec(&nmi_active);
}
Esempio n. 3
0
void stop_apic_nmi_watchdog(void *unused)
{
    struct hrtimer *hrtimer = &__get_cpu_var(nmi_watchdog_hrtimer);

    /* only support LOCAL and IO APICs for now */
    if (!nmi_watchdog_active())
        return;
    if (__get_cpu_var(wd_enabled) == 0)
        return;

    /* disable the hrtimer */
    hrtimer_cancel(hrtimer);

    if (nmi_watchdog == NMI_LOCAL_APIC)
        lapic_watchdog_stop();
    else
        __acpi_nmi_disable(NULL);
    __get_cpu_var(wd_enabled) = 0;
    atomic_dec(&nmi_active);
}