diff options
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index e4e3a0e3201e..bba4297f2f03 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -704,7 +704,7 @@ void ide_timer_expiry (unsigned long data) | |||
704 | } | 704 | } |
705 | spin_lock_irq(&hwif->lock); | 705 | spin_lock_irq(&hwif->lock); |
706 | enable_irq(hwif->irq); | 706 | enable_irq(hwif->irq); |
707 | if (startstop == ide_stopped) { | 707 | if (startstop == ide_stopped && hwif->polling == 0) { |
708 | rq_in_flight = hwif->rq; | 708 | rq_in_flight = hwif->rq; |
709 | hwif->rq = NULL; | 709 | hwif->rq = NULL; |
710 | ide_unlock_port(hwif); | 710 | ide_unlock_port(hwif); |
@@ -879,7 +879,7 @@ irqreturn_t ide_intr (int irq, void *dev_id) | |||
879 | * same irq as is currently being serviced here, and Linux | 879 | * same irq as is currently being serviced here, and Linux |
880 | * won't allow another of the same (on any CPU) until we return. | 880 | * won't allow another of the same (on any CPU) until we return. |
881 | */ | 881 | */ |
882 | if (startstop == ide_stopped) { | 882 | if (startstop == ide_stopped && hwif->polling == 0) { |
883 | BUG_ON(hwif->handler); | 883 | BUG_ON(hwif->handler); |
884 | rq_in_flight = hwif->rq; | 884 | rq_in_flight = hwif->rq; |
885 | hwif->rq = NULL; | 885 | hwif->rq = NULL; |