mac80211: use secondary channel offset IE also beacons during CSA
authorLuciano Coelho <luciano.coelho@intel.com>
Tue, 28 Oct 2014 11:33:04 +0000 (13:33 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 29 Oct 2014 15:37:45 +0000 (16:37 +0100)
commit84469a45a1bedec9918e94ab2f78c5dc0739e4a7
tree5fedc36289fa06ce9a234e768eab84fa0512e0d9
parent10b68487869031828aede7313c2befc53d6d30ec
mac80211: use secondary channel offset IE also beacons during CSA

If we are switching from an HT40+ to an HT40- channel (or vice-versa),
we need the secondary channel offset IE to specify what is the
post-CSA offset to be used.  This applies both to beacons and to probe
responses.

In ieee80211_parse_ch_switch_ie() we were ignoring this IE from
beacons and using the *current* HT information IE instead.  This was
causing us to use the same offset as before the switch.

Fix that by using the secondary channel offset IE also for beacons and
don't ever use the pre-switch offset.  Additionally, remove the
"beacon" argument from ieee80211_parse_ch_switch_ie(), since it's not
needed anymore.

Cc: stable@vger.kernel.org
Reported-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ibss.c
net/mac80211/ieee80211_i.h
net/mac80211/mesh.c
net/mac80211/mlme.c
net/mac80211/spectmgmt.c