|
@@ -419,7 +419,8 @@ static irqreturn_t sil_interrupt(int irq, void *dev_instance,
|
|
if (unlikely(!ap || ap->flags & ATA_FLAG_DISABLED))
|
|
if (unlikely(!ap || ap->flags & ATA_FLAG_DISABLED))
|
|
continue;
|
|
continue;
|
|
|
|
|
|
- if (!(bmdma2 & (SIL_DMA_COMPLETE | SIL_DMA_SATA_IRQ)))
|
|
|
|
|
|
+ if (bmdma2 == 0xffffffff ||
|
|
|
|
+ !(bmdma2 & (SIL_DMA_COMPLETE | SIL_DMA_SATA_IRQ)))
|
|
continue;
|
|
continue;
|
|
|
|
|
|
sil_host_intr(ap, bmdma2);
|
|
sil_host_intr(ap, bmdma2);
|