Hi John,
This is a pull request for 3.16.
It includes a merge damage fix. This region has been changed in -next and -fixes quite a few times and apparently, I failed to handle it properly, so here the fix.
Along with that I have a fix from Eliad to properly handle overlapping BSS in AP mode.
Let me know if you have issues with this.
Thanks!
The following changes since commit dc271ee0d04d12d6bfabacbec803289a7072fbd9:
iwlwifi: mvm: disable CTS to Self (2014-07-03 20:55:18 +0300)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes.git master
for you to fetch changes up to 4601879419f94a89fcbf427b4d3bfbf4ce294174:
iwlwifi: mvm: pass beacons from foreign APs (2014-07-21 10:38:25 +0300)
----------------------------------------------------------------
Eliad Peller (1):
iwlwifi: mvm: pass beacons from foreign APs
Emmanuel Grumbach (1):
iwlwifi: mvm: fix merge damage
drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c | 15 +++++++++++++--
drivers/net/wireless/iwlwifi/mvm/mac80211.c | 7 -------
2 files changed, 13 insertions(+), 9 deletions(-)
On Mon, Jul 21, 2014 at 09:10:13PM +0300, Emmanuel Grumbach wrote:
> Hi John,
>
> This is a pull request for 3.16.
>
> It includes a merge damage fix. This region has been changed in -next and -fixes quite a few times and apparently, I failed to handle it properly, so here the fix.
> Along with that I have a fix from Eliad to properly handle overlapping BSS in AP mode.
>
> Let me know if you have issues with this.
> Thanks!
>
> The following changes since commit dc271ee0d04d12d6bfabacbec803289a7072fbd9:
>
> iwlwifi: mvm: disable CTS to Self (2014-07-03 20:55:18 +0300)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes.git master
>
> for you to fetch changes up to 4601879419f94a89fcbf427b4d3bfbf4ce294174:
>
> iwlwifi: mvm: pass beacons from foreign APs (2014-07-21 10:38:25 +0300)
Pulling now...
--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.
From: Emmanuel Grumbach <[email protected]>
Signed-off-by: Emmanuel Grumbach <[email protected]>
---
drivers/net/wireless/iwlwifi/mvm/mac80211.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 9bfb906..98556d0 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -303,13 +303,6 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
}
- if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT &&
- !iwlwifi_mod_params.uapsd_disable) {
- hw->flags |= IEEE80211_HW_SUPPORTS_UAPSD;
- hw->uapsd_queues = IWL_UAPSD_AC_INFO;
- hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
- }
-
hw->sta_data_size = sizeof(struct iwl_mvm_sta);
hw->vif_data_size = sizeof(struct iwl_mvm_vif);
hw->chanctx_data_size = sizeof(u16);
--
1.8.3.2
From: Eliad Peller <[email protected]>
In AP mode, configure the fw to pass beacons from
foreign APs, in order to be able to set the ht
protection IE properly.
Add the same filters in case of GO (which didn't have
any configured filter_flags, probably by mistake)
Signed-off-by: Eliad Peller <[email protected]>
Signed-off-by: Emmanuel Grumbach <[email protected]>
---
drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
index 725ba49..8b79081 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
@@ -1072,8 +1072,12 @@ static int iwl_mvm_mac_ctxt_cmd_ap(struct iwl_mvm *mvm,
/* Fill the common data for all mac context types */
iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, action);
- /* Also enable probe requests to pass */
- cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_PROBE_REQUEST);
+ /*
+ * pass probe requests and beacons from other APs (needed
+ * for ht protection)
+ */
+ cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_PROBE_REQUEST |
+ MAC_FILTER_IN_BEACON);
/* Fill the data specific for ap mode */
iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.ap,
@@ -1094,6 +1098,13 @@ static int iwl_mvm_mac_ctxt_cmd_go(struct iwl_mvm *mvm,
/* Fill the common data for all mac context types */
iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, action);
+ /*
+ * pass probe requests and beacons from other APs (needed
+ * for ht protection)
+ */
+ cmd.filter_flags |= cpu_to_le32(MAC_FILTER_IN_PROBE_REQUEST |
+ MAC_FILTER_IN_BEACON);
+
/* Fill the data specific for GO mode */
iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.go.ap,
action == FW_CTXT_ACTION_ADD);
--
1.8.3.2