aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/netpoll.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/netpoll.c')
-rw-r--r--net/core/netpoll.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index fc4e28e23b89..630df6034444 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -172,12 +172,13 @@ static void service_arp_queue(struct netpoll_info *npi)
172void netpoll_poll(struct netpoll *np) 172void netpoll_poll(struct netpoll *np)
173{ 173{
174 struct net_device *dev = np->dev; 174 struct net_device *dev = np->dev;
175 const struct net_device_ops *ops = dev->netdev_ops;
175 176
176 if (!dev || !netif_running(dev) || !dev->poll_controller) 177 if (!dev || !netif_running(dev) || !ops->ndo_poll_controller)
177 return; 178 return;
178 179
179 /* Process pending work on NIC */ 180 /* Process pending work on NIC */
180 dev->poll_controller(dev); 181 ops->ndo_poll_controller(dev);
181 182
182 poll_napi(dev); 183 poll_napi(dev);
183 184
@@ -694,7 +695,7 @@ int netpoll_setup(struct netpoll *np)
694 atomic_inc(&npinfo->refcnt); 695 atomic_inc(&npinfo->refcnt);
695 } 696 }
696 697
697 if (!ndev->poll_controller) { 698 if (!ndev->netdev_ops->ndo_poll_controller) {
698 printk(KERN_ERR "%s: %s doesn't support polling, aborting.\n", 699 printk(KERN_ERR "%s: %s doesn't support polling, aborting.\n",
699 np->name, np->dev_name); 700 np->name, np->dev_name);
700 err = -ENOTSUPP; 701 err = -ENOTSUPP;