aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/netpoll.c
diff options
context:
space:
mode:
authorJiri Pirko <jiri@resnulli.us>2013-01-03 17:48:55 -0500
committerDavid S. Miller <davem@davemloft.net>2013-01-04 16:31:50 -0500
commit49bd8fb0b18944fc0b6b11d999619d3687c3914a (patch)
treeb3a25e93209b1385d0d6c18451b213404bb4fcab /net/core/netpoll.c
parent74fdd93fbcc16522406f65c564ea104490ad4908 (diff)
netpoll: remove usage of dev->master
Signed-off-by: Jiri Pirko <jiri@resnulli.us> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/netpoll.c')
-rw-r--r--net/core/netpoll.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index 3151acf5ec13..d2bda8eb08ec 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -210,9 +210,12 @@ static void netpoll_poll_dev(struct net_device *dev)
210 210
211 if (dev->flags & IFF_SLAVE) { 211 if (dev->flags & IFF_SLAVE) {
212 if (ni) { 212 if (ni) {
213 struct net_device *bond_dev = dev->master; 213 struct net_device *bond_dev;
214 struct sk_buff *skb; 214 struct sk_buff *skb;
215 struct netpoll_info *bond_ni = rcu_dereference_bh(bond_dev->npinfo); 215 struct netpoll_info *bond_ni;
216
217 bond_dev = netdev_master_upper_dev_get_rcu(dev);
218 bond_ni = rcu_dereference_bh(bond_dev->npinfo);
216 while ((skb = skb_dequeue(&ni->arp_tx))) { 219 while ((skb = skb_dequeue(&ni->arp_tx))) {
217 skb->dev = bond_dev; 220 skb->dev = bond_dev;
218 skb_queue_tail(&bond_ni->arp_tx, skb); 221 skb_queue_tail(&bond_ni->arp_tx, skb);
@@ -815,7 +818,7 @@ int netpoll_setup(struct netpoll *np)
815 return -ENODEV; 818 return -ENODEV;
816 } 819 }
817 820
818 if (ndev->master) { 821 if (netdev_master_upper_dev_get(ndev)) {
819 np_err(np, "%s is a slave device, aborting\n", np->dev_name); 822 np_err(np, "%s is a slave device, aborting\n", np->dev_name);
820 err = -EBUSY; 823 err = -EBUSY;
821 goto put; 824 goto put;