aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2014-05-13 14:52:34 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-05-13 14:52:34 -0400
commit209f6c37540a6cc1c74333a7ede0da729488a8cd (patch)
treee7c040198825b713b1b5b8d467e06d45d1faf6a1
parent03e5da151b8e390f2e28c4edf8fbbb6ca6d7a7ed (diff)
parentb538b8ce76f69f7fa225bc0817bbb361b877ea23 (diff)
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c6
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mvm.h2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/scan.c2
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/utils.c16
4 files changed, 13 insertions, 13 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 593f723a74c4..b41dc84e9431 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -1007,7 +1007,7 @@ static void iwl_mvm_mc_iface_iterator(void *_data, u8 *mac,
1007 memcpy(cmd->bssid, vif->bss_conf.bssid, ETH_ALEN); 1007 memcpy(cmd->bssid, vif->bss_conf.bssid, ETH_ALEN);
1008 len = roundup(sizeof(*cmd) + cmd->count * ETH_ALEN, 4); 1008 len = roundup(sizeof(*cmd) + cmd->count * ETH_ALEN, 4);
1009 1009
1010 ret = iwl_mvm_send_cmd_pdu(mvm, MCAST_FILTER_CMD, CMD_SYNC, len, cmd); 1010 ret = iwl_mvm_send_cmd_pdu(mvm, MCAST_FILTER_CMD, CMD_ASYNC, len, cmd);
1011 if (ret) 1011 if (ret)
1012 IWL_ERR(mvm, "mcast filter cmd error. ret=%d\n", ret); 1012 IWL_ERR(mvm, "mcast filter cmd error. ret=%d\n", ret);
1013} 1013}
@@ -1023,7 +1023,7 @@ static void iwl_mvm_recalc_multicast(struct iwl_mvm *mvm)
1023 if (WARN_ON_ONCE(!mvm->mcast_filter_cmd)) 1023 if (WARN_ON_ONCE(!mvm->mcast_filter_cmd))
1024 return; 1024 return;
1025 1025
1026 ieee80211_iterate_active_interfaces( 1026 ieee80211_iterate_active_interfaces_atomic(
1027 mvm->hw, IEEE80211_IFACE_ITER_NORMAL, 1027 mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
1028 iwl_mvm_mc_iface_iterator, &iter_data); 1028 iwl_mvm_mc_iface_iterator, &iter_data);
1029} 1029}
@@ -1807,7 +1807,7 @@ static int iwl_mvm_mac_sched_scan_start(struct ieee80211_hw *hw,
1807 1807
1808 mutex_lock(&mvm->mutex); 1808 mutex_lock(&mvm->mutex);
1809 1809
1810 if (iwl_mvm_is_associated(mvm)) { 1810 if (!iwl_mvm_is_idle(mvm)) {
1811 ret = -EBUSY; 1811 ret = -EBUSY;
1812 goto out; 1812 goto out;
1813 } 1813 }
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h
index 84c75a1b267e..f1ec0986c3c9 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h
@@ -1004,7 +1004,7 @@ static inline bool iwl_mvm_vif_low_latency(struct iwl_mvm_vif *mvmvif)
1004} 1004}
1005 1005
1006/* Assoc status */ 1006/* Assoc status */
1007bool iwl_mvm_is_associated(struct iwl_mvm *mvm); 1007bool iwl_mvm_is_idle(struct iwl_mvm *mvm);
1008 1008
1009/* Thermal management and CT-kill */ 1009/* Thermal management and CT-kill */
1010void iwl_mvm_tt_tx_backoff(struct iwl_mvm *mvm, u32 backoff); 1010void iwl_mvm_tt_tx_backoff(struct iwl_mvm *mvm, u32 backoff);
diff --git a/drivers/net/wireless/iwlwifi/mvm/scan.c b/drivers/net/wireless/iwlwifi/mvm/scan.c
index cba88a379fc8..c28de54c75d4 100644
--- a/drivers/net/wireless/iwlwifi/mvm/scan.c
+++ b/drivers/net/wireless/iwlwifi/mvm/scan.c
@@ -732,7 +732,7 @@ int iwl_mvm_config_sched_scan(struct iwl_mvm *mvm,
732 int band_2ghz = mvm->nvm_data->bands[IEEE80211_BAND_2GHZ].n_channels; 732 int band_2ghz = mvm->nvm_data->bands[IEEE80211_BAND_2GHZ].n_channels;
733 int band_5ghz = mvm->nvm_data->bands[IEEE80211_BAND_5GHZ].n_channels; 733 int band_5ghz = mvm->nvm_data->bands[IEEE80211_BAND_5GHZ].n_channels;
734 int head = 0; 734 int head = 0;
735 int tail = band_2ghz + band_5ghz; 735 int tail = band_2ghz + band_5ghz - 1;
736 u32 ssid_bitmap; 736 u32 ssid_bitmap;
737 int cmd_len; 737 int cmd_len;
738 int ret; 738 int ret;
diff --git a/drivers/net/wireless/iwlwifi/mvm/utils.c b/drivers/net/wireless/iwlwifi/mvm/utils.c
index 6fdbef9696d8..2180902266ae 100644
--- a/drivers/net/wireless/iwlwifi/mvm/utils.c
+++ b/drivers/net/wireless/iwlwifi/mvm/utils.c
@@ -645,21 +645,21 @@ bool iwl_mvm_low_latency(struct iwl_mvm *mvm)
645 return result; 645 return result;
646} 646}
647 647
648static void iwl_mvm_assoc_iter(void *_data, u8 *mac, struct ieee80211_vif *vif) 648static void iwl_mvm_idle_iter(void *_data, u8 *mac, struct ieee80211_vif *vif)
649{ 649{
650 bool *assoc = _data; 650 bool *idle = _data;
651 651
652 if (vif->bss_conf.assoc) 652 if (!vif->bss_conf.idle)
653 *assoc = true; 653 *idle = false;
654} 654}
655 655
656bool iwl_mvm_is_associated(struct iwl_mvm *mvm) 656bool iwl_mvm_is_idle(struct iwl_mvm *mvm)
657{ 657{
658 bool assoc = false; 658 bool idle = true;
659 659
660 ieee80211_iterate_active_interfaces_atomic( 660 ieee80211_iterate_active_interfaces_atomic(
661 mvm->hw, IEEE80211_IFACE_ITER_NORMAL, 661 mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
662 iwl_mvm_assoc_iter, &assoc); 662 iwl_mvm_idle_iter, &idle);
663 663
664 return assoc; 664 return idle;
665} 665}