Răsfoiți Sursa

[PATCH] sata_sil: add controller unplug detection in sil_interrupt()

Short-circuit interrupt handling if BMDMA2 is reported as 0xffffffff
indicating device removal.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo 19 ani în urmă
părinte
comite
23fa961809
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      drivers/scsi/sata_sil.c

+ 2 - 1
drivers/scsi/sata_sil.c

@@ -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);