diff options
Diffstat (limited to 'drivers/net/ethernet/dlink')
-rw-r--r-- | drivers/net/ethernet/dlink/sundance.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/ethernet/dlink/sundance.c b/drivers/net/ethernet/dlink/sundance.c index 50d9c6315930..bf3bf6f22c99 100644 --- a/drivers/net/ethernet/dlink/sundance.c +++ b/drivers/net/ethernet/dlink/sundance.c | |||
@@ -469,6 +469,17 @@ static void sundance_reset(struct net_device *dev, unsigned long reset_cmd) | |||
469 | } | 469 | } |
470 | } | 470 | } |
471 | 471 | ||
472 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
473 | static void sundance_poll_controller(struct net_device *dev) | ||
474 | { | ||
475 | struct netdev_private *np = netdev_priv(dev); | ||
476 | |||
477 | disable_irq(np->pci_dev->irq); | ||
478 | intr_handler(np->pci_dev->irq, dev); | ||
479 | enable_irq(np->pci_dev->irq); | ||
480 | } | ||
481 | #endif | ||
482 | |||
472 | static const struct net_device_ops netdev_ops = { | 483 | static const struct net_device_ops netdev_ops = { |
473 | .ndo_open = netdev_open, | 484 | .ndo_open = netdev_open, |
474 | .ndo_stop = netdev_close, | 485 | .ndo_stop = netdev_close, |
@@ -480,6 +491,9 @@ static const struct net_device_ops netdev_ops = { | |||
480 | .ndo_change_mtu = change_mtu, | 491 | .ndo_change_mtu = change_mtu, |
481 | .ndo_set_mac_address = sundance_set_mac_addr, | 492 | .ndo_set_mac_address = sundance_set_mac_addr, |
482 | .ndo_validate_addr = eth_validate_addr, | 493 | .ndo_validate_addr = eth_validate_addr, |
494 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
495 | .ndo_poll_controller = sundance_poll_controller, | ||
496 | #endif | ||
483 | }; | 497 | }; |
484 | 498 | ||
485 | static int sundance_probe1(struct pci_dev *pdev, | 499 | static int sundance_probe1(struct pci_dev *pdev, |