Messages in this thread | | | Date | Wed, 6 Jun 2012 11:09:27 -0400 (EDT) | From | Alan Stern <> | Subject | Re: [linux-pm] Suspend/resume regressions on Lenovo S10-3 |
| |
On Wed, 6 Jun 2012, Rafael J. Wysocki wrote:
> > --- a/drivers/acpi/processor_idle.c > > +++ b/drivers/acpi/processor_idle.c > > @@ -895,8 +895,9 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, > > if (unlikely(!pr)) > > return -EINVAL; > > > > - > > if (acpi_idle_suspend) { > > + local_irq_disable(); > > + local_irq_enable(); > > cpu_relax(); > > return -EINVAL; > > } > > May I say this is ugly? Why can't we track the status of interrupts > properly here?
It's not just ugly; it's illogical. What reason could there possibly be for disabling interrupts and then enabling them again without doing anything in between?
Alan Stern
| |