diff options
author | Amit Uttamchandani <auttamchandani@logicube.com> | 2013-07-19 00:45:22 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-07-20 00:34:41 (GMT) |
commit | 0887a576a17965732270b2f8d37821fc02ef2feb (patch) | |
tree | bc308886cb2e367218ed27ca2600240265ebaa1f | |
parent | 6e3d6774a7d59e33bebeb0ef66888bc7dbfed4c7 (diff) | |
download | linux-0887a576a17965732270b2f8d37821fc02ef2feb.tar.xz |
net/velocity: add poll controller function for velocity nic
Add poll controller function for velocity nic.
Signed-off-by: Amit Uttamchandani <auttamchandani@logicube.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/via/via-velocity.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c index 1d6dc41..ef77631 100644 --- a/drivers/net/ethernet/via/via-velocity.c +++ b/drivers/net/ethernet/via/via-velocity.c @@ -2376,6 +2376,23 @@ out_0: return ret; } +#ifdef CONFIG_NET_POLL_CONTROLLER +/** + * velocity_poll_controller - Velocity Poll controller function + * @dev: network device + * + * + * Used by NETCONSOLE and other diagnostic tools to allow network I/P + * with interrupts disabled. + */ +static void velocity_poll_controller(struct net_device *dev) +{ + disable_irq(dev->irq); + velocity_intr(dev->irq, dev); + enable_irq(dev->irq); +} +#endif + /** * velocity_mii_ioctl - MII ioctl handler * @dev: network device @@ -2641,6 +2658,9 @@ static const struct net_device_ops velocity_netdev_ops = { .ndo_do_ioctl = velocity_ioctl, .ndo_vlan_rx_add_vid = velocity_vlan_rx_add_vid, .ndo_vlan_rx_kill_vid = velocity_vlan_rx_kill_vid, +#ifdef CONFIG_NET_POLL_CONTROLLER + .ndo_poll_controller = velocity_poll_controller, +#endif }; /** |