]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/ata/sata_mv.c
sata_mv: fix MSI irq race condition
[net-next-2.6.git] / drivers / ata / sata_mv.c
index 7007edd2d4517fed1a5b75773622cae9da003e44..74b1080d116da102d714c2168ca85f7e8c00fc0b 100644 (file)
@@ -2218,12 +2218,13 @@ static irqreturn_t mv_interrupt(int irq, void *dev_instance)
                else
                        handled = mv_host_intr(host, pending_irqs);
        }
-       spin_unlock(&host->lock);
 
        /* for MSI: unmask; interrupt cause bits will retrigger now */
        if (using_msi)
                writel(hpriv->main_irq_mask, hpriv->main_irq_mask_addr);
 
+       spin_unlock(&host->lock);
+
        return IRQ_RETVAL(handled);
 }