lkml.org 
[lkml]   [2013]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/58] mac80211: fix infinite loop in ieee80211_determine_chantype
    Date
    3.8.13.8 -stable review patch.  If anyone has any objections, please let me know.

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

    From: Chris Wright <chrisw@sous-sol.org>

    commit b56e4b857c5210e848bfb80e074e5756a36cd523 upstream.

    Commit "3d9646d mac80211: fix channel selection bug" introduced a possible
    infinite loop by moving the out target above the chandef_downgrade
    while loop. When we downgrade to NL80211_CHAN_WIDTH_20_NOHT, we jump
    back up to re-run the while loop...indefinitely. Replace goto with
    break and carry on. This may not be sufficient to connect to the AP,
    but will at least keep the cpu from livelocking. Thanks to Derek Atkins
    as an extra pair of debugging eyes.

    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    net/mac80211/mlme.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
    index a1a7997..a67fe0f 100644
    --- a/net/mac80211/mlme.c
    +++ b/net/mac80211/mlme.c
    @@ -3410,7 +3410,7 @@ out:
    if (WARN_ON(chandef->width == NL80211_CHAN_WIDTH_20_NOHT)) {
    ret = IEEE80211_STA_DISABLE_HT |
    IEEE80211_STA_DISABLE_VHT;
    - goto out;
    + break;
    }

    ret |= chandef_downgrade(chandef);
    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-09-03 19:01    [W:4.153 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site