|
@@ -257,9 +257,7 @@ __mesh_path_lookup_by_idx(struct mesh_table *tbl, int idx)
|
|
|
if (ret)
|
|
|
return NULL;
|
|
|
|
|
|
- ret = rhashtable_walk_start(&iter);
|
|
|
- if (ret && ret != -EAGAIN)
|
|
|
- goto err;
|
|
|
+ rhashtable_walk_start(&iter);
|
|
|
|
|
|
while ((mpath = rhashtable_walk_next(&iter))) {
|
|
|
if (IS_ERR(mpath) && PTR_ERR(mpath) == -EAGAIN)
|
|
@@ -269,7 +267,6 @@ __mesh_path_lookup_by_idx(struct mesh_table *tbl, int idx)
|
|
|
if (i++ == idx)
|
|
|
break;
|
|
|
}
|
|
|
-err:
|
|
|
rhashtable_walk_stop(&iter);
|
|
|
rhashtable_walk_exit(&iter);
|
|
|
|
|
@@ -513,9 +510,7 @@ void mesh_plink_broken(struct sta_info *sta)
|
|
|
if (ret)
|
|
|
return;
|
|
|
|
|
|
- ret = rhashtable_walk_start(&iter);
|
|
|
- if (ret && ret != -EAGAIN)
|
|
|
- goto out;
|
|
|
+ rhashtable_walk_start(&iter);
|
|
|
|
|
|
while ((mpath = rhashtable_walk_next(&iter))) {
|
|
|
if (IS_ERR(mpath) && PTR_ERR(mpath) == -EAGAIN)
|
|
@@ -535,7 +530,6 @@ void mesh_plink_broken(struct sta_info *sta)
|
|
|
WLAN_REASON_MESH_PATH_DEST_UNREACHABLE, bcast);
|
|
|
}
|
|
|
}
|
|
|
-out:
|
|
|
rhashtable_walk_stop(&iter);
|
|
|
rhashtable_walk_exit(&iter);
|
|
|
}
|
|
@@ -584,9 +578,7 @@ void mesh_path_flush_by_nexthop(struct sta_info *sta)
|
|
|
if (ret)
|
|
|
return;
|
|
|
|
|
|
- ret = rhashtable_walk_start(&iter);
|
|
|
- if (ret && ret != -EAGAIN)
|
|
|
- goto out;
|
|
|
+ rhashtable_walk_start(&iter);
|
|
|
|
|
|
while ((mpath = rhashtable_walk_next(&iter))) {
|
|
|
if (IS_ERR(mpath) && PTR_ERR(mpath) == -EAGAIN)
|
|
@@ -597,7 +589,7 @@ void mesh_path_flush_by_nexthop(struct sta_info *sta)
|
|
|
if (rcu_access_pointer(mpath->next_hop) == sta)
|
|
|
__mesh_path_del(tbl, mpath);
|
|
|
}
|
|
|
-out:
|
|
|
+
|
|
|
rhashtable_walk_stop(&iter);
|
|
|
rhashtable_walk_exit(&iter);
|
|
|
}
|
|
@@ -614,9 +606,7 @@ static void mpp_flush_by_proxy(struct ieee80211_sub_if_data *sdata,
|
|
|
if (ret)
|
|
|
return;
|
|
|
|
|
|
- ret = rhashtable_walk_start(&iter);
|
|
|
- if (ret && ret != -EAGAIN)
|
|
|
- goto out;
|
|
|
+ rhashtable_walk_start(&iter);
|
|
|
|
|
|
while ((mpath = rhashtable_walk_next(&iter))) {
|
|
|
if (IS_ERR(mpath) && PTR_ERR(mpath) == -EAGAIN)
|
|
@@ -627,7 +617,7 @@ static void mpp_flush_by_proxy(struct ieee80211_sub_if_data *sdata,
|
|
|
if (ether_addr_equal(mpath->mpp, proxy))
|
|
|
__mesh_path_del(tbl, mpath);
|
|
|
}
|
|
|
-out:
|
|
|
+
|
|
|
rhashtable_walk_stop(&iter);
|
|
|
rhashtable_walk_exit(&iter);
|
|
|
}
|
|
@@ -642,9 +632,7 @@ static void table_flush_by_iface(struct mesh_table *tbl)
|
|
|
if (ret)
|
|
|
return;
|
|
|
|
|
|
- ret = rhashtable_walk_start(&iter);
|
|
|
- if (ret && ret != -EAGAIN)
|
|
|
- goto out;
|
|
|
+ rhashtable_walk_start(&iter);
|
|
|
|
|
|
while ((mpath = rhashtable_walk_next(&iter))) {
|
|
|
if (IS_ERR(mpath) && PTR_ERR(mpath) == -EAGAIN)
|
|
@@ -653,7 +641,7 @@ static void table_flush_by_iface(struct mesh_table *tbl)
|
|
|
break;
|
|
|
__mesh_path_del(tbl, mpath);
|
|
|
}
|
|
|
-out:
|
|
|
+
|
|
|
rhashtable_walk_stop(&iter);
|
|
|
rhashtable_walk_exit(&iter);
|
|
|
}
|
|
@@ -873,9 +861,7 @@ void mesh_path_tbl_expire(struct ieee80211_sub_if_data *sdata,
|
|
|
if (ret)
|
|
|
return;
|
|
|
|
|
|
- ret = rhashtable_walk_start(&iter);
|
|
|
- if (ret && ret != -EAGAIN)
|
|
|
- goto out;
|
|
|
+ rhashtable_walk_start(&iter);
|
|
|
|
|
|
while ((mpath = rhashtable_walk_next(&iter))) {
|
|
|
if (IS_ERR(mpath) && PTR_ERR(mpath) == -EAGAIN)
|
|
@@ -887,7 +873,7 @@ void mesh_path_tbl_expire(struct ieee80211_sub_if_data *sdata,
|
|
|
time_after(jiffies, mpath->exp_time + MESH_PATH_EXPIRE))
|
|
|
__mesh_path_del(tbl, mpath);
|
|
|
}
|
|
|
-out:
|
|
|
+
|
|
|
rhashtable_walk_stop(&iter);
|
|
|
rhashtable_walk_exit(&iter);
|
|
|
}
|