diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2008-11-26 01:35:22 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-12-19 04:38:33 -0500 |
commit | abe1dfab60e1839d115930286cb421f5a5b193f3 (patch) | |
tree | e47757bf2fcd10086b64c623220138478a73e9db /include/acpi/platform | |
parent | e76f42761197dd6e9405e2eeb35932acfede115a (diff) |
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>
Diffstat (limited to 'include/acpi/platform')
-rw-r--r-- | include/acpi/platform/aclinux.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index 029c8c06c151..0515e754449d 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h | |||
@@ -141,6 +141,10 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache) | |||
141 | /* | 141 | /* |
142 | * We need to show where it is safe to preempt execution of ACPICA | 142 | * We need to show where it is safe to preempt execution of ACPICA |
143 | */ | 143 | */ |
144 | #define ACPI_PREEMPTION_POINT() cond_resched() | 144 | #define ACPI_PREEMPTION_POINT() \ |
145 | do { \ | ||
146 | if (!irqs_disabled()) \ | ||
147 | cond_resched(); \ | ||
148 | } while (0) | ||
145 | 149 | ||
146 | #endif /* __ACLINUX_H__ */ | 150 | #endif /* __ACLINUX_H__ */ |