diff options
Diffstat (limited to 'net/core/netpoll.c')
-rw-r--r-- | net/core/netpoll.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index f9f40b932e4..b4c90e42b44 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c | |||
@@ -715,14 +715,16 @@ int netpoll_parse_options(struct netpoll *np, char *opt) | |||
715 | } | 715 | } |
716 | EXPORT_SYMBOL(netpoll_parse_options); | 716 | EXPORT_SYMBOL(netpoll_parse_options); |
717 | 717 | ||
718 | int __netpoll_setup(struct netpoll *np) | 718 | int __netpoll_setup(struct netpoll *np, struct net_device *ndev) |
719 | { | 719 | { |
720 | struct net_device *ndev = np->dev; | ||
721 | struct netpoll_info *npinfo; | 720 | struct netpoll_info *npinfo; |
722 | const struct net_device_ops *ops; | 721 | const struct net_device_ops *ops; |
723 | unsigned long flags; | 722 | unsigned long flags; |
724 | int err; | 723 | int err; |
725 | 724 | ||
725 | np->dev = ndev; | ||
726 | strlcpy(np->dev_name, ndev->name, IFNAMSIZ); | ||
727 | |||
726 | if ((ndev->priv_flags & IFF_DISABLE_NETPOLL) || | 728 | if ((ndev->priv_flags & IFF_DISABLE_NETPOLL) || |
727 | !ndev->netdev_ops->ndo_poll_controller) { | 729 | !ndev->netdev_ops->ndo_poll_controller) { |
728 | np_err(np, "%s doesn't support polling, aborting\n", | 730 | np_err(np, "%s doesn't support polling, aborting\n", |
@@ -851,13 +853,11 @@ int netpoll_setup(struct netpoll *np) | |||
851 | np_info(np, "local IP %pI4\n", &np->local_ip); | 853 | np_info(np, "local IP %pI4\n", &np->local_ip); |
852 | } | 854 | } |
853 | 855 | ||
854 | np->dev = ndev; | ||
855 | |||
856 | /* fill up the skb queue */ | 856 | /* fill up the skb queue */ |
857 | refill_skbs(); | 857 | refill_skbs(); |
858 | 858 | ||
859 | rtnl_lock(); | 859 | rtnl_lock(); |
860 | err = __netpoll_setup(np); | 860 | err = __netpoll_setup(np, ndev); |
861 | rtnl_unlock(); | 861 | rtnl_unlock(); |
862 | 862 | ||
863 | if (err) | 863 | if (err) |