]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/ide/ide-io.c
Merge branch 'master' into for-2.6.31
[net-next-2.6.git] / drivers / ide / ide-io.c
index e4e3a0e3201e5516700b60184bfc7ebe03d308bd..bba4297f2f03fcadf80f8bb3f3a05e780e6f3551 100644 (file)
@@ -704,7 +704,7 @@ void ide_timer_expiry (unsigned long data)
                }
                spin_lock_irq(&hwif->lock);
                enable_irq(hwif->irq);
-               if (startstop == ide_stopped) {
+               if (startstop == ide_stopped && hwif->polling == 0) {
                        rq_in_flight = hwif->rq;
                        hwif->rq = NULL;
                        ide_unlock_port(hwif);
@@ -879,7 +879,7 @@ irqreturn_t ide_intr (int irq, void *dev_id)
         * same irq as is currently being serviced here, and Linux
         * won't allow another of the same (on any CPU) until we return.
         */
-       if (startstop == ide_stopped) {
+       if (startstop == ide_stopped && hwif->polling == 0) {
                BUG_ON(hwif->handler);
                rq_in_flight = hwif->rq;
                hwif->rq = NULL;