Messages in this thread Patch in this message | | | Date | Sat, 22 Aug 2009 01:24:17 +0400 | From | Alexey Starikovskiy <> | Subject | Re: BUG: scheduling while atomic in acpi_ps_complete_op |
| |
Eric Paris пишет: > On Sat, 2009-08-22 at 00:12 +0400, Alexey Starikovskiy wrote: >> Hi, >> This should be handled by abe1dfab60e1839d115930286cb421f5a5b193f3. > > And yet I'm getting it from linux-next today. > > So you are apparently failing the in_atomic_preempt_off() test but > succeeding in your !irqs_disabled() test. > > Something isn't right since I'm hitting it hundreds of times on boot. > > -Eric > Ok, let's see if replacing irqs_disabled() to in_atomic_preempt_off() helps...
Regards, Alex. diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index fcb8e4b..23b262b 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h @@ -152,7 +152,7 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache) #define ACPI_PREEMPTION_POINT() \ do { \ - if (!irqs_disabled()) \ + if (!in_atomic_preempt_off()) \ cond_resched(); \ } while (0) | |