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 | |
| 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>
| -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 029c8c06c15..0515e754449 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__ */ |
