ahci: drop intx manipulation on msi enable
authorTejun Heo <tj@kernel.org>
Fri, 23 Jan 2009 02:31:39 +0000 (11:31 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 25 Mar 2009 02:02:40 +0000 (22:02 -0400)
There's no need to turn off intx explicitly on msi enable.  This is
automatically handled by pci.  Drop it.

This might be needed on machines if the BIOS turns intx off during
boot.  However, there's no evidence of such behavior for ahci and
the only such case seems to be ICH5 PATA according to ata_piix.
Also, given the way ahci operates, it's highly unlikely BIOS ever
disables IRQ for the controller.  However, as this change has slight
possibility of introducing failure, please schedule it for #upstream.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/ahci.c

index 66e012cd3271f98cc8541c95ca13fb327b4dd7c7..98d7a9fbb7ed338bbc3fcedf30c49f32c4132020 100644 (file)
@@ -2647,8 +2647,8 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (board_id == board_ahci_sb700 && pdev->revision >= 0x40)
                hpriv->flags &= ~AHCI_HFLAG_IGN_SERR_INTERNAL;
 
-       if ((hpriv->flags & AHCI_HFLAG_NO_MSI) || pci_enable_msi(pdev))
-               pci_intx(pdev, 1);
+       if (!(hpriv->flags & AHCI_HFLAG_NO_MSI))
+               pci_enable_msi(pdev);
 
        /* save initial config */
        ahci_save_initial_config(pdev, hpriv);