]> err.no Git - linux-2.6/commitdiff
[PATCH] sata_sil: add controller unplug detection in sil_interrupt()
authorTejun Heo <htejun@gmail.com>
Mon, 12 Jun 2006 05:18:51 +0000 (14:18 +0900)
committerJeff Garzik <jeff@garzik.org>
Mon, 12 Jun 2006 06:10:26 +0000 (02:10 -0400)
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>
drivers/scsi/sata_sil.c

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