iwlwifi: mvm: Fix CSA received immediately after association
authorAvraham Stern <avraham.stern@intel.com>
Mon, 9 Jan 2017 13:39:15 +0000 (15:39 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 8 Feb 2017 15:54:22 +0000 (17:54 +0200)
commitb45242c99f503d0a526c2b1f647ad562f9cf9dd5
treef0a9bb1739241b5a4240c55579357f2098ee8717
parent2b18824a5d1eae58946e3c8a60d48f0b1ff32265
iwlwifi: mvm: Fix CSA received immediately after association

The session protection set for association is only removed when
BSS_CHANGED_BEACON_INFO is set and BSS_CHANGED_ASSOC is not set.

However, mac80211 may set both on association (in case a beacon was
already received). In this case, mac80211 will not set
BSS_CHANGED_BEACON_INFO on the next beacons because it has already
notified the beacon change, so the session protection is never removed
(until the session protection ends).

When a CSA is received within this time, the station will fail to
folllow the channel switch because it cannot schedule the time event.

Fix this by removing the session protection when
BSS_CHANGED_BEACON_INFO and BSS_CHANGED_ASSOC are both set.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c