This hardware supports Message Signaled interrupts so use them.

Signed-off-by: Stephen Hemminger <shemminger @osdl.org>

--- git-2.6.orig/drivers/net/sky2.c     2006-01-25 10:42:16.000000000 -0800
+++ git-2.6/drivers/net/sky2.c  2006-01-25 12:59:30.000000000 -0800
@@ -3165,6 +3165,9 @@
        }
}

+       if (pci_enable_msi(pdev) == 0)
+               hw->msi = 1;
+
err = request_irq(pdev->irq, sky2_intr, SA_SHIRQ | SA_SAMPLE_RANDOM,
                  DRV_NAME, hw);
if (err) {
@@ -3181,6 +3184,8 @@
return 0;

err_out_unregister:
+       if (hw->msi)
+               pci_disable_msi(pdev);
if (dev1) {
        unregister_netdev(dev1);
        free_netdev(dev1);
@@ -3223,6 +3228,8 @@
sky2_read8(hw, B0_CTST);

free_irq(pdev->irq, hw);
+       if (hw->msi)
+               pci_disable_msi(pdev);
pci_free_consistent(pdev, STATUS_LE_BYTES, hw->st_le, hw->st_dma);
pci_release_regions(pdev);
pci_disable_device(pdev);
--- git-2.6.orig/drivers/net/sky2.h     2006-01-25 10:42:16.000000000 -0800
+++ git-2.6/drivers/net/sky2.h  2006-01-25 12:59:05.000000000 -0800
@@ -1847,6 +1847,7 @@
        struct net_device    *dev[2];
 
        int                  pm_cap;
+       int                  msi;
        u8                   chip_id;
        u8                   chip_rev;
        u8                   copper;

--

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to