diff options
author | Jiri Pirko <jiri@resnulli.us> | 2012-07-17 01:22:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-17 12:02:36 -0400 |
commit | 30fdd8a082a00126a6feec994e43e8dc12f5bccb (patch) | |
tree | 0b5f9589942f88bb25408e77f251334e0471c36c | |
parent | 0c24604b68fc7810d429d6c3657b6f148270e528 (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.c | 4 | ||||
-rw-r--r-- | include/linux/netpoll.h | 2 | ||||
-rw-r--r-- | net/8021q/vlan_dev.c | 5 | ||||
-rw-r--r-- | net/bridge/br_device.c | 5 | ||||
-rw-r--r-- | net/core/netpoll.c | 10 |
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 { | |||
43 | void netpoll_send_udp(struct netpoll *np, const char *msg, int len); | 43 | void netpoll_send_udp(struct netpoll *np, const char *msg, int len); |
44 | void netpoll_print_options(struct netpoll *np); | 44 | void netpoll_print_options(struct netpoll *np); |
45 | int netpoll_parse_options(struct netpoll *np, char *opt); | 45 | int netpoll_parse_options(struct netpoll *np, char *opt); |
46 | int __netpoll_setup(struct netpoll *np); | 46 | int __netpoll_setup(struct netpoll *np, struct net_device *ndev); |
47 | int netpoll_setup(struct netpoll *np); | 47 | int netpoll_setup(struct netpoll *np); |
48 | int netpoll_trap(void); | 48 | int netpoll_trap(void); |
49 | void netpoll_set_trap(int trap); | 49 | void 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 | } |
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) |