On Tue, 2012-11-20 at 13:44 -0700, Toshi Kani wrote:
> This interface acquires the global namespace
> mutex and may not be called from interrupt context.
[]
> diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
[]
> +/**
> + * acpi_handle_printk: Print message with ACPI prefix and object path
> + *
> + * This function is called through acpi_handle_<level> macros and prints
> + * a message with ACPI prefix and object path.  This function acquires
> + * the global namespace mutex and may not be called from interrupt context.
> + */
> +void
> +acpi_handle_printk(const char *level, acpi_handle handle, const char *fmt, 
> ...)
> +{
[]
> +     ret = acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer);
> +     if (ret == AE_OK)
> +             path = buffer.pointer;
> +     else
> +             path = "<n/a>";

Perhaps:
        if (in_interrupt() ||
            acpi_get_name(handle, ACPI_FULL_PATHNAME, &buffer) != AE_OK)
                path = "<n/a>";
        else
                path = buffer.pointer;

so that any interrupt context still works, just
not printing the correct acpi_get_name;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to