ACPI: don't cond_resched() when irqs_disabled()

The ACPI interpreter usually runs with irqs enabled.
However, during suspend/resume it runs with
irqs disabled to evaluate _GTS/_BFS, as well as
by irqrouter_resume() which evaluates _CRS, _PRS, _SRS.

http://bugzilla.kernel.org/show_bug.cgi?id=12252

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
Wu Fengguang 2008-11-26 14:35:22 +08:00 committed by Len Brown
parent e76f427611
commit abe1dfab60

View File

@ -141,6 +141,10 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache)
/* /*
* We need to show where it is safe to preempt execution of ACPICA * We need to show where it is safe to preempt execution of ACPICA
*/ */
#define ACPI_PREEMPTION_POINT() cond_resched() #define ACPI_PREEMPTION_POINT() \
do { \
if (!irqs_disabled()) \
cond_resched(); \
} while (0)
#endif /* __ACLINUX_H__ */ #endif /* __ACLINUX_H__ */