From: Jens Axboe Date: Fri, 22 May 2009 18:28:35 +0000 (+0200) Subject: Merge branch 'master' into for-2.6.31 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9bd7de51ee8537094656149eaf45338cadb7d7d4;p=linux-beck.git Merge branch 'master' into for-2.6.31 Conflicts: drivers/ide/ide-io.c Signed-off-by: Jens Axboe --- 9bd7de51ee8537094656149eaf45338cadb7d7d4 diff --cc drivers/ide/ide-io.c index e4e3a0e3201e,6415a2e2ba87..bba4297f2f03 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c @@@ -704,9 -696,7 +704,9 @@@ void ide_timer_expiry (unsigned long da } 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); plug_device = 1; } @@@ -879,10 -868,8 +879,10 @@@ irqreturn_t ide_intr (int irq, void *de * 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; ide_unlock_port(hwif); plug_device = 1; }