diff --git a/[refs] b/[refs] index 2baa778a4dcd..18624ffd5c58 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 080e4130b1fb6a02e75149a1cccc8192e734713d +refs/heads/master: 5a698af53fb85b92d6462939a2c75ec4c7233bb9 diff --git a/trunk/net/core/netpoll.c b/trunk/net/core/netpoll.c index f68e6949294e..06be2431753e 100644 --- a/trunk/net/core/netpoll.c +++ b/trunk/net/core/netpoll.c @@ -193,6 +193,17 @@ void netpoll_poll_dev(struct net_device *dev) poll_napi(dev); + if (dev->priv_flags & IFF_SLAVE) { + if (dev->npinfo) { + struct net_device *bond_dev = dev->master; + struct sk_buff *skb; + while ((skb = skb_dequeue(&dev->npinfo->arp_tx))) { + skb->dev = bond_dev; + skb_queue_tail(&bond_dev->npinfo->arp_tx, skb); + } + } + } + service_arp_queue(dev->npinfo); zap_completion_queue();