Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
[cascardo/linux.git] / net / mac80211 / mesh_pathtbl.c
index 49aaefd..b39224d 100644 (file)
@@ -348,7 +348,7 @@ static struct mesh_path *mpath_lookup(struct mesh_table *tbl, u8 *dst,
        hlist_for_each_entry_rcu(node, n, bucket, list) {
                mpath = node->mpath;
                if (mpath->sdata == sdata &&
-                               compare_ether_addr(dst, mpath->dst) == 0) {
+                   ether_addr_equal(dst, mpath->dst)) {
                        if (MPATH_EXPIRED(mpath)) {
                                spin_lock_bh(&mpath->state_lock);
                                mpath->flags &= ~MESH_PATH_ACTIVE;
@@ -517,7 +517,7 @@ int mesh_path_add(u8 *dst, struct ieee80211_sub_if_data *sdata)
        int err = 0;
        u32 hash_idx;
 
-       if (compare_ether_addr(dst, sdata->vif.addr) == 0)
+       if (ether_addr_equal(dst, sdata->vif.addr))
                /* never add ourselves as neighbours */
                return -ENOTSUPP;
 
@@ -538,6 +538,8 @@ int mesh_path_add(u8 *dst, struct ieee80211_sub_if_data *sdata)
 
        read_lock_bh(&pathtbl_resize_lock);
        memcpy(new_mpath->dst, dst, ETH_ALEN);
+       memset(new_mpath->rann_snd_addr, 0xff, ETH_ALEN);
+       new_mpath->is_root = false;
        new_mpath->sdata = sdata;
        new_mpath->flags = 0;
        skb_queue_head_init(&new_mpath->frame_queue);
@@ -559,7 +561,7 @@ int mesh_path_add(u8 *dst, struct ieee80211_sub_if_data *sdata)
        hlist_for_each_entry(node, n, bucket, list) {
                mpath = node->mpath;
                if (mpath->sdata == sdata &&
-                   compare_ether_addr(dst, mpath->dst) == 0)
+                   ether_addr_equal(dst, mpath->dst))
                        goto err_exists;
        }
 
@@ -650,7 +652,7 @@ int mpp_path_add(u8 *dst, u8 *mpp, struct ieee80211_sub_if_data *sdata)
        int err = 0;
        u32 hash_idx;
 
-       if (compare_ether_addr(dst, sdata->vif.addr) == 0)
+       if (ether_addr_equal(dst, sdata->vif.addr))
                /* never add ourselves as neighbours */
                return -ENOTSUPP;
 
@@ -688,7 +690,7 @@ int mpp_path_add(u8 *dst, u8 *mpp, struct ieee80211_sub_if_data *sdata)
        hlist_for_each_entry(node, n, bucket, list) {
                mpath = node->mpath;
                if (mpath->sdata == sdata &&
-                   compare_ether_addr(dst, mpath->dst) == 0)
+                   ether_addr_equal(dst, mpath->dst))
                        goto err_exists;
        }
 
@@ -882,7 +884,7 @@ int mesh_path_del(u8 *addr, struct ieee80211_sub_if_data *sdata)
        hlist_for_each_entry(node, n, bucket, list) {
                mpath = node->mpath;
                if (mpath->sdata == sdata &&
-                   compare_ether_addr(addr, mpath->dst) == 0) {
+                   ether_addr_equal(addr, mpath->dst)) {
                        __mesh_path_del(tbl, node);
                        goto enddel;
                }