aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2012-07-17 01:22:35 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-17 12:02:36 -0400
commit30fdd8a082a00126a6feec994e43e8dc12f5bccb (patch)
tree0b5f9589942f88bb25408e77f251334e0471c36c
parent0c24604b68fc7810d429d6c3657b6f148270e528 (diff)
netpoll: move np->dev and np->dev_name init into __netpoll_setup()
Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/bonding/bond_main.c4
-rw-r--r--include/linux/netpoll.h2
-rw-r--r--net/8021q/vlan_dev.c5
-rw-r--r--net/bridge/br_device.c5
-rw-r--r--net/core/netpoll.c10
5 files changed, 9 insertions, 17 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 4ddcc3e41da..1eb3979d0af 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1240,9 +1240,7 @@ static inline int slave_enable_netpoll(struct slave *slave)
1240 if (!np) 1240 if (!np)
1241 goto out; 1241 goto out;
1242 1242
1243 np->dev = slave->dev; 1243 err = __netpoll_setup(np, slave->dev);
1244 strlcpy(np->dev_name, slave->dev->name, IFNAMSIZ);
1245 err = __netpoll_setup(np);
1246 if (err) { 1244 if (err) {
1247 kfree(np); 1245 kfree(np);
1248 goto out; 1246 goto out;
diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h
index 5dfa091c334..28f5389c924 100644
--- a/include/linux/netpoll.h
+++ b/include/linux/netpoll.h
@@ -43,7 +43,7 @@ struct netpoll_info {
43void netpoll_send_udp(struct netpoll *np, const char *msg, int len); 43void netpoll_send_udp(struct netpoll *np, const char *msg, int len);
44void netpoll_print_options(struct netpoll *np); 44void netpoll_print_options(struct netpoll *np);
45int netpoll_parse_options(struct netpoll *np, char *opt); 45int netpoll_parse_options(struct netpoll *np, char *opt);
46int __netpoll_setup(struct netpoll *np); 46int __netpoll_setup(struct netpoll *np, struct net_device *ndev);
47int netpoll_setup(struct netpoll *np); 47int netpoll_setup(struct netpoll *np);
48int netpoll_trap(void); 48int netpoll_trap(void);
49void netpoll_set_trap(int trap); 49void netpoll_set_trap(int trap);
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index da1bc9c3cf3..73a2a83ee2d 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -681,10 +681,7 @@ static int vlan_dev_netpoll_setup(struct net_device *dev, struct netpoll_info *n
681 if (!netpoll) 681 if (!netpoll)
682 goto out; 682 goto out;
683 683
684 netpoll->dev = real_dev; 684 err = __netpoll_setup(netpoll, real_dev);
685 strlcpy(netpoll->dev_name, real_dev->name, IFNAMSIZ);
686
687 err = __netpoll_setup(netpoll);
688 if (err) { 685 if (err) {
689 kfree(netpoll); 686 kfree(netpoll);
690 goto out; 687 goto out;
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index 929e48aed44..f4be1bbfef2 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -246,10 +246,7 @@ int br_netpoll_enable(struct net_bridge_port *p)
246 if (!np) 246 if (!np)
247 goto out; 247 goto out;
248 248
249 np->dev = p->dev; 249 err = __netpoll_setup(np, p->dev);
250 strlcpy(np->dev_name, p->dev->name, IFNAMSIZ);
251
252 err = __netpoll_setup(np);
253 if (err) { 250 if (err) {
254 kfree(np); 251 kfree(np);
255 goto out; 252 goto out;
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}
716EXPORT_SYMBOL(netpoll_parse_options); 716EXPORT_SYMBOL(netpoll_parse_options);
717 717
718int __netpoll_setup(struct netpoll *np) 718int __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)