Messages in this thread Patch in this message | | | Date | Fri, 28 Mar 2003 00:54:19 +0100 (MET) | From | Bartlomiej Zolnierkiewicz <> | Subject | [PATCH] IDE 2.5.66-masked_irq-fix-A0 |
| |
# Revert previous masked_irq handling for ide_do_request(). # Fixes "hda: lost interrupt" bug. # # Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
diff -uNr linux-2.5.66/drivers/ide/ide-io.c linux/drivers/ide/ide-io.c --- linux-2.5.66/drivers/ide/ide-io.c Tue Mar 25 22:53:09 2003 +++ linux/drivers/ide/ide-io.c Tue Mar 25 22:54:33 2003 @@ -850,14 +850,14 @@ * happens anyway when any interrupt comes in, IDE or otherwise * -- the kernel masks the IRQ while it is being handled. */ - if (hwif->irq != masked_irq) + if (masked_irq && hwif->irq != masked_irq) disable_irq_nosync(hwif->irq); spin_unlock(&ide_lock); local_irq_enable(); /* allow other IRQs while we start this request */ startstop = start_request(drive, rq); spin_lock_irq(&ide_lock); - if (hwif->irq != masked_irq) + if (masked_irq && hwif->irq != masked_irq) enable_irq(hwif->irq); if (startstop == ide_released) goto queue_next; @@ -873,7 +873,7 @@ */ void do_ide_request(request_queue_t *q) { - ide_do_request(q->queuedata, IDE_NO_IRQ); + ide_do_request(q->queuedata, 0); }
/* @@ -1021,7 +1021,7 @@ hwgroup->busy = 0; } } - ide_do_request(hwgroup, IDE_NO_IRQ); + ide_do_request(hwgroup, 0); spin_unlock_irqrestore(&ide_lock, flags); }
@@ -1311,7 +1311,7 @@ insert_end = 0; } __elv_add_request(&drive->queue, rq, insert_end, 0); - ide_do_request(hwgroup, IDE_NO_IRQ); + ide_do_request(hwgroup, 0); spin_unlock_irqrestore(&ide_lock, flags);
err = 0;
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |