aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/dvm/rxon.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-04-22 09:31:43 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-04-22 09:31:43 -0400
commita42c74ee608a424342ef7069ccddf196d873040c (patch)
tree75adfb9f5e06ebb7c7d5d5e5a5408fa0d6d504b9 /drivers/net/wireless/iwlwifi/dvm/rxon.c
parent97990a060e6757f48b931a3946b17c1c4362c3fb (diff)
parent9b383672452bb1097124c76fcb4903e0021f6baf (diff)
Merge remote-tracking branch 'wireless-next/master' into mac80211-next
Diffstat (limited to 'drivers/net/wireless/iwlwifi/dvm/rxon.c')
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/rxon.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/rxon.c b/drivers/net/wireless/iwlwifi/dvm/rxon.c
index acbb50b5f1e8..707446fa00bd 100644
--- a/drivers/net/wireless/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/iwlwifi/dvm/rxon.c
@@ -1420,6 +1420,14 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
1420 1420
1421 mutex_lock(&priv->mutex); 1421 mutex_lock(&priv->mutex);
1422 1422
1423 if (changes & BSS_CHANGED_IDLE && bss_conf->idle) {
1424 /*
1425 * If we go idle, then clearly no "passive-no-rx"
1426 * workaround is needed any more, this is a reset.
1427 */
1428 iwlagn_lift_passive_no_rx(priv);
1429 }
1430
1423 if (unlikely(!iwl_is_ready(priv))) { 1431 if (unlikely(!iwl_is_ready(priv))) {
1424 IWL_DEBUG_MAC80211(priv, "leave - not ready\n"); 1432 IWL_DEBUG_MAC80211(priv, "leave - not ready\n");
1425 mutex_unlock(&priv->mutex); 1433 mutex_unlock(&priv->mutex);
@@ -1451,16 +1459,6 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
1451 priv->timestamp = bss_conf->sync_tsf; 1459 priv->timestamp = bss_conf->sync_tsf;
1452 ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK; 1460 ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
1453 } else { 1461 } else {
1454 /*
1455 * If we disassociate while there are pending
1456 * frames, just wake up the queues and let the
1457 * frames "escape" ... This shouldn't really
1458 * be happening to start with, but we should
1459 * not get stuck in this case either since it
1460 * can happen if userspace gets confused.
1461 */
1462 iwlagn_lift_passive_no_rx(priv);
1463
1464 ctx->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK; 1462 ctx->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK;
1465 1463
1466 if (ctx->ctxid == IWL_RXON_CTX_BSS) 1464 if (ctx->ctxid == IWL_RXON_CTX_BSS)