|
@@ -696,7 +696,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) {
|
|
|
ide_unlock_port(hwif);
|
|
|
plug_device = 1;
|
|
|
}
|
|
@@ -868,7 +868,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);
|
|
|
ide_unlock_port(hwif);
|
|
|
plug_device = 1;
|