diff options
-rw-r--r-- | drivers/acpi/processor_idle.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index af9f2afd72da..f8d2b2f47fd4 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
@@ -287,10 +287,10 @@ static void acpi_processor_idle(void) | |||
287 | pr->power.bm_check_timestamp = jiffies; | 287 | pr->power.bm_check_timestamp = jiffies; |
288 | 288 | ||
289 | /* | 289 | /* |
290 | * Apply bus mastering demotion policy. Automatically demote | 290 | * If bus mastering is or was active this jiffy, demote |
291 | * to avoid a faulty transition. Note that the processor | 291 | * to avoid a faulty transition. Note that the processor |
292 | * won't enter a low-power state during this call (to this | 292 | * won't enter a low-power state during this call (to this |
293 | * funciton) but should upon the next. | 293 | * function) but should upon the next. |
294 | * | 294 | * |
295 | * TBD: A better policy might be to fallback to the demotion | 295 | * TBD: A better policy might be to fallback to the demotion |
296 | * state (use it for this quantum only) istead of | 296 | * state (use it for this quantum only) istead of |
@@ -298,7 +298,8 @@ static void acpi_processor_idle(void) | |||
298 | * qualification. This may, however, introduce DMA | 298 | * qualification. This may, however, introduce DMA |
299 | * issues (e.g. floppy DMA transfer overrun/underrun). | 299 | * issues (e.g. floppy DMA transfer overrun/underrun). |
300 | */ | 300 | */ |
301 | if (pr->power.bm_activity & cx->demotion.threshold.bm) { | 301 | if ((pr->power.bm_activity & 0x1) && |
302 | cx->demotion.threshold.bm) { | ||
302 | local_irq_enable(); | 303 | local_irq_enable(); |
303 | next_state = cx->demotion.state; | 304 | next_state = cx->demotion.state; |
304 | goto end; | 305 | goto end; |