diff options
Diffstat (limited to 'drivers/net/sis190.c')
-rw-r--r-- | drivers/net/sis190.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index fd303e7408ac..e374cf43fed0 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c | |||
@@ -629,6 +629,18 @@ out: | |||
629 | return IRQ_RETVAL(handled); | 629 | return IRQ_RETVAL(handled); |
630 | } | 630 | } |
631 | 631 | ||
632 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
633 | static void sis190_netpoll(struct net_device *dev) | ||
634 | { | ||
635 | struct sis190_private *tp = netdev_priv(dev); | ||
636 | struct pci_dev *pdev = tp->pci_dev; | ||
637 | |||
638 | disable_irq(pdev->irq); | ||
639 | sis190_interrupt(pdev->irq, dev, NULL); | ||
640 | enable_irq(pdev->irq); | ||
641 | } | ||
642 | #endif | ||
643 | |||
632 | static void sis190_free_rx_skb(struct sis190_private *tp, | 644 | static void sis190_free_rx_skb(struct sis190_private *tp, |
633 | struct sk_buff **sk_buff, struct RxDesc *desc) | 645 | struct sk_buff **sk_buff, struct RxDesc *desc) |
634 | { | 646 | { |
@@ -1300,6 +1312,9 @@ static int __devinit sis190_init_one(struct pci_dev *pdev, | |||
1300 | dev->tx_timeout = sis190_tx_timeout; | 1312 | dev->tx_timeout = sis190_tx_timeout; |
1301 | dev->watchdog_timeo = SIS190_TX_TIMEOUT; | 1313 | dev->watchdog_timeo = SIS190_TX_TIMEOUT; |
1302 | dev->hard_start_xmit = sis190_start_xmit; | 1314 | dev->hard_start_xmit = sis190_start_xmit; |
1315 | #ifdef CONFIG_NET_POLL_CONTROLLER | ||
1316 | dev->poll_controller = sis190_netpoll; | ||
1317 | #endif | ||
1303 | dev->set_multicast_list = sis190_set_rx_mode; | 1318 | dev->set_multicast_list = sis190_set_rx_mode; |
1304 | SET_ETHTOOL_OPS(dev, &sis190_ethtool_ops); | 1319 | SET_ETHTOOL_OPS(dev, &sis190_ethtool_ops); |
1305 | dev->irq = pdev->irq; | 1320 | dev->irq = pdev->irq; |