# Fix masked_irq arg handling for ide_do_request(). # Solves "hdx: lost interrupt" bug. # # Bartlomiej Zolnierkiewicz drivers/ide/ide-io.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/ide/ide-io.c~ide_masked_irq drivers/ide/ide-io.c --- linux-2.5.69/drivers/ide/ide-io.c~ide_masked_irq Thu May 8 17:16:27 2003 +++ linux-2.5.69-root/drivers/ide/ide-io.c Thu May 8 17:16:27 2003 @@ -850,14 +850,14 @@ queue_next: * 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 != IDE_NO_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 != IDE_NO_IRQ && hwif->irq != masked_irq) enable_irq(hwif->irq); if (startstop == ide_released) goto queue_next; _