Messages in this thread | | | Date | Sun, 6 Apr 2003 18:21:23 -0700 | From | Andrew Morton <> | Subject | Re: 2.5.66-bk12: acpi_power_off: sleeping function called from illegal context |
| |
Zwane Mwaikambo <zwane@linuxpower.ca> wrote: > > - if (in_atomic()) > + if (in_atomic() || irqs_disabled()) > timeout = 0;
Andy, why does the ACPI code have this test?
Is it to determine whether a caller of this functon is currently holding a spinlock? If so then it will only work on a preemptible kernel.
A non-preempt kernel will not increment preempt_count() when it takes a spinlock and ACPI could mistakenly schedule away and cause a system deadlock.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |