Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git] / drivers / net / bonding / bond_alb.c
index cc5049e..dc2c7b9 100644 (file)
@@ -660,10 +660,10 @@ static struct slave *rlb_arp_xmit(struct sk_buff *skb, struct bonding *bond)
                return NULL;
        arp = (struct arp_pkt *)skb_network_header(skb);
 
-       /* Don't modify or load balance ARPs that do not originate locally
-        * (e.g.,arrive via a bridge).
+       /* Don't modify or load balance ARPs that do not originate
+        * from the bond itself or a VLAN directly above the bond.
         */
-       if (!bond_slave_has_mac_rx(bond, arp->mac_src))
+       if (!bond_slave_has_mac_rcu(bond, arp->mac_src))
                return NULL;
 
        dev = ip_dev_find(dev_net(bond->dev), arp->ip_src);