summaryrefslogtreecommitdiffstats
path: root/drivers/net/atlx/atl2.c
diff options
context:
space:
mode:
authorKevin Hao <kexin.hao@windriver.com>2008-09-19 21:56:44 +0000
committerDavid S. Miller <davem@davemloft.net>2008-10-08 15:29:35 -0700
commit8d1b1fc9b97ad4de40c063ce3d213895c06fa116 (patch)
tree80af7c1eac50f00797da91fd82663574b219fd4a /drivers/net/atlx/atl2.c
parent6fbc779c03591ee536fef9efb7d7e20f281d0b5c (diff)
downloadlinux-8d1b1fc9b97ad4de40c063ce3d213895c06fa116.tar.bz2
net: add net poll support for atl2 driver
Add netconsole support for Atheros L2 10/100 network device. Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Acked-by: Jay Cliburn <jacliburn@bellsouth.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/atlx/atl2.c')
-rw-r--r--drivers/net/atlx/atl2.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/atlx/atl2.c b/drivers/net/atlx/atl2.c
index 5ab9c7631002..4f82f6661535 100644
--- a/drivers/net/atlx/atl2.c
+++ b/drivers/net/atlx/atl2.c
@@ -1329,6 +1329,15 @@ static void atl2_setup_pcicmd(struct pci_dev *pdev)
pci_write_config_dword(pdev, REG_PM_CTRLSTAT, 0);
}
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void atl2_poll_controller(struct net_device *netdev)
+{
+ disable_irq(netdev->irq);
+ atl2_intr(netdev->irq, netdev);
+ enable_irq(netdev->irq);
+}
+#endif
+
/*
* atl2_probe - Device Initialization Routine
* @pdev: PCI device information struct
@@ -1412,6 +1421,9 @@ static int __devinit atl2_probe(struct pci_dev *pdev,
netdev->do_ioctl = &atl2_ioctl;
atl2_set_ethtool_ops(netdev);
+#ifdef CONFIG_NET_POLL_CONTROLLER
+ netdev->poll_controller = atl2_poll_controller;
+#endif
#ifdef HAVE_TX_TIMEOUT
netdev->tx_timeout = &atl2_tx_timeout;
netdev->watchdog_timeo = 5 * HZ;