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