]> err.no Git - linux-2.6/blobdiff - drivers/net/bonding/bond_alb.c
ath5k: Misc hw_attach fixes
[linux-2.6] / drivers / net / bonding / bond_alb.c
index 3f58c3d0b7106ae02452ff77f1e41c28ae2ded67..b211486a0ca390ff745a7f62004e1249b6a59c51 100644 (file)
@@ -345,7 +345,7 @@ static int rlb_arp_recv(struct sk_buff *skb, struct net_device *bond_dev, struct
        struct arp_pkt *arp = (struct arp_pkt *)skb->data;
        int res = NET_RX_DROP;
 
-       if (bond_dev->nd_net != &init_net)
+       if (dev_net(bond_dev) != &init_net)
                goto out;
 
        if (!(bond_dev->flags & IFF_MASTER))
@@ -419,8 +419,10 @@ static void rlb_teach_disabled_mac_on_primary(struct bonding *bond, u8 addr[])
        }
 
        if (!bond->alb_info.primary_is_promisc) {
-               bond->alb_info.primary_is_promisc = 1;
-               dev_set_promiscuity(bond->curr_active_slave->dev, 1);
+               if (!dev_set_promiscuity(bond->curr_active_slave->dev, 1))
+                       bond->alb_info.primary_is_promisc = 1;
+               else
+                       bond->alb_info.primary_is_promisc = 0;
        }
 
        bond->alb_info.rlb_promisc_timeout_counter = 0;