atl1: add netconsole support
authorAlexey Dobriyan <adobriyan@gmail.com>
Wed, 9 May 2007 14:52:35 +0000 (18:52 +0400)
committerJeff Garzik <jeff@garzik.org>
Wed, 9 May 2007 23:25:15 +0000 (19:25 -0400)
Copied from b44 driver, but it works:

netconsole: device eth0 not up yet, forcing it
atl1: eth0 link is up 100 Mbps full duplex
netconsole: network logging started

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/atl1/atl1_main.c

index d28f88b..78cf00f 100644 (file)
@@ -2038,6 +2038,15 @@ static int atl1_close(struct net_device *netdev)
        return 0;
 }
 
+#ifdef CONFIG_NET_POLL_CONTROLLER
+static void atl1_poll_controller(struct net_device *netdev)
+{
+       disable_irq(netdev->irq);
+       atl1_intr(netdev->irq, netdev);
+       enable_irq(netdev->irq);
+}
+#endif
+
 /*
  * If TPD Buffer size equal to 0, PCIE DMAR_TO_INT
  * will assert. We do soft reset <0x1400=1> according
@@ -2190,6 +2199,9 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
        netdev->do_ioctl = &atl1_ioctl;
        netdev->tx_timeout = &atl1_tx_timeout;
        netdev->watchdog_timeo = 5 * HZ;
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       netdev->poll_controller = atl1_poll_controller;
+#endif
        netdev->vlan_rx_register = atl1_vlan_rx_register;
        netdev->vlan_rx_add_vid = atl1_vlan_rx_add_vid;
        netdev->vlan_rx_kill_vid = atl1_vlan_rx_kill_vid;