lkml.org 
[lkml]   [2012]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 18/37] mac80211: deinitialize ibss-internals after emptiness check
    Date
    3.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>

    commit b78a4932f5fb11fadf41e69c606a33fa6787574c upstream.

    The check whether the IBSS is active and can be removed should be
    performed before deinitializing the fields used for the check/search.
    Otherwise, the configured BSS will not be found and removed properly.

    To make it more clear for the future, rename sdata->u.ibss to the
    local pointer ifibss which is used within the checks.

    This behaviour was introduced by
    f3209bea110cade12e2b133da8b8499689cb0e2e
    ("mac80211: fix IBSS teardown race")

    Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
    Cc: Ignacy Gawedzki <i@lri.fr>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    net/mac80211/ibss.c | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    --- a/net/mac80211/ibss.c
    +++ b/net/mac80211/ibss.c
    @@ -965,10 +965,6 @@ int ieee80211_ibss_leave(struct ieee8021

    mutex_lock(&sdata->u.ibss.mtx);

    - sdata->u.ibss.state = IEEE80211_IBSS_MLME_SEARCH;
    - memset(sdata->u.ibss.bssid, 0, ETH_ALEN);
    - sdata->u.ibss.ssid_len = 0;
    -
    active_ibss = ieee80211_sta_active_ibss(sdata);

    if (!active_ibss && !is_zero_ether_addr(ifibss->bssid)) {
    @@ -989,6 +985,10 @@ int ieee80211_ibss_leave(struct ieee8021
    }
    }

    + ifibss->state = IEEE80211_IBSS_MLME_SEARCH;
    + memset(ifibss->bssid, 0, ETH_ALEN);
    + ifibss->ssid_len = 0;
    +
    sta_info_flush(sdata->local, sdata);

    /* remove beacon */



    \
     
     \ /
      Last update: 2012-12-01 00:21    [W:4.257 / U:0.340 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site