mac80211: mesh_plink: don't ignore holding timer
authorBob Copeland <me@bobcopeland.com>
Tue, 5 Nov 2013 19:16:56 +0000 (11:16 -0800)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 25 Nov 2013 19:50:07 +0000 (20:50 +0100)
The ignore_plink_timer flag is set when doing mod_timer() if
the timer was not previously active.  This is to avoid executing
the timeout if del_timer() was subsequently called.  However,
del_timer() only happens if we are moving to ESTAB state or
get a close frame while in HOLDING.

We cannot leave HOLDING and re-enter ESTAB unless we receive a
close frame (in which case ignore_plink_timer is already set) or
if the timeout expires, so there actually isn't a case where
this is needed on mod_timer().

Signed-off-by: Bob Copeland <bob@cozybit.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mesh_plink.c

index 8e23395146706205ee7a167f03b1448eb9dd5921..550ebc1463ca4880c5556652766b0a87e382df0f 100644 (file)
@@ -671,8 +671,7 @@ static void mesh_plink_close(struct ieee80211_sub_if_data *sdata,
 
        sta->reason = reason;
        sta->plink_state = NL80211_PLINK_HOLDING;
-       if (!mod_plink_timer(sta, mshcfg->dot11MeshHoldingTimeout))
-               sta->ignore_plink_timer = true;
+       mod_plink_timer(sta, mshcfg->dot11MeshHoldingTimeout);
 }
 
 static u32 mesh_plink_establish(struct ieee80211_sub_if_data *sdata,