From: Javier Cardona Date: Mon, 8 Aug 2011 23:30:50 +0000 (-0700) Subject: mac80211: fix erroneous clearing of MESH_PATH_SN_VALID flag X-Git-Tag: v3.2~422^2~254^2~320 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1b1de7aa9966f44560614c94b3940f685e79a7cb;p=platform%2Fkernel%2Flinux-amlogic.git mac80211: fix erroneous clearing of MESH_PATH_SN_VALID flag When a PREQ or PREP is received from an intermediate node, it contains useful information for path selection but it doesn't include the originator's sequence number. Therefore, when updating the mesh path to that intermediate node, we should not set the MESH_PATH_SN_VALID flag. BUT, if the flag is set, it should not be unset as we might have received a valid sequence number for that intermediate node in the past. This issue was reported, fixed and tested by Ya Bo (游波) and Pedro Larbig (ASPj). Signed-off-by: Javier Cardona Signed-off-by: John W. Linville --- diff --git a/net/mac80211/mesh_hwmp.c b/net/mac80211/mesh_hwmp.c index 8404fa5..3d8e55a 100644 --- a/net/mac80211/mesh_hwmp.c +++ b/net/mac80211/mesh_hwmp.c @@ -449,7 +449,6 @@ static u32 hwmp_route_info_get(struct ieee80211_sub_if_data *sdata, if (fresh_info) { mesh_path_assign_nexthop(mpath, sta); - mpath->flags &= ~MESH_PATH_SN_VALID; mpath->metric = last_hop_metric; mpath->exp_time = time_after(mpath->exp_time, exp_time) ? mpath->exp_time : exp_time;