UPSTREAM: mac80211: fix error in station state transitions during reconfig
authorMeenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Wed, 30 May 2012 09:39:33 +0000 (11:39 +0200)
committerGerrit <chrome-bot@google.com>
Mon, 20 Aug 2012 17:39:55 +0000 (10:39 -0700)
BUG=chrome-os-partner:10785
TEST=Manual (run wifi test suites)

As part of hardware reconfig mac80211 tries
to restore the station state to its values
before the hardware reconfig, but it only
goes to the last-state - 1. Fix this
off-by-one error.

Change-Id: Idd7ac847a66c9ef2eea0d6eaf7347d8a1a4fd792
Cc: stable@kernel.org [3.4]
Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/30880
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Tan Gao <tgao@chromium.org>
Tested-by: Tan Gao <tgao@chromium.org>
net/mac80211/util.c

index 3862c96..eb9d7c0 100644 (file)
@@ -1224,7 +1224,7 @@ int ieee80211_reconfig(struct ieee80211_local *local)
                        enum ieee80211_sta_state state;
 
                        for (state = IEEE80211_STA_NOTEXIST;
-                            state < sta->sta_state - 1; state++)
+                            state < sta->sta_state; state++)
                                WARN_ON(drv_sta_state(local, sta->sdata, sta,
                                                      state, state + 1));
                }