linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* pull request: iwlwifi 2014-07-05
@ 2014-07-05 19:32 Emmanuel Grumbach
  2014-07-05 19:33 ` [PATCH 1/3] iwlwifi: mvm: Fix broadcast filtering Emmanuel Grumbach
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Emmanuel Grumbach @ 2014-07-05 19:32 UTC (permalink / raw)
  To: John Linville; +Cc: linux-wireless

[-- Attachment #1: Type: text/plain, Size: 1287 bytes --]

Hi John,

This pull request is intended for 3.a16.

I have here 2 patches that disable the usage of CTS to self. This keeps making trouble to the firmware and is not a really reliable protection anyway. We may re-enable it in the future, but in rarer cases. Along with this, I have a fix from Ilan that prevents a firmware assertion.

Please pull.

The following changes since commit a42c9fcc4a88cdd246fab3bcf06c4487afee3d88:

  Revert "iwlwifi: remove IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT flag" (2014-06-24 22:01:46 +0300)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes.git for-john

for you to fetch changes up to dc271ee0d04d12d6bfabacbec803289a7072fbd9:

  iwlwifi: mvm: disable CTS to Self (2014-07-03 20:55:18 +0300)

----------------------------------------------------------------
Emmanuel Grumbach (2):
      iwlwifi: dvm: don't enable CTS to self
      iwlwifi: mvm: disable CTS to Self

Ilan Peer (1):
      iwlwifi: mvm: Fix broadcast filtering

 drivers/net/wireless/iwlwifi/dvm/rxon.c     | 12 ------------
 drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c |  5 ++---
 drivers/net/wireless/iwlwifi/mvm/mac80211.c | 12 ++++++------
 3 files changed, 8 insertions(+), 21 deletions(-)


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] iwlwifi: mvm: Fix broadcast filtering
  2014-07-05 19:32 pull request: iwlwifi 2014-07-05 Emmanuel Grumbach
@ 2014-07-05 19:33 ` Emmanuel Grumbach
  2014-07-05 19:33 ` [PATCH 2/3] iwlwifi: dvm: don't enable CTS to self Emmanuel Grumbach
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Emmanuel Grumbach @ 2014-07-05 19:33 UTC (permalink / raw)
  To: linux-wireless; +Cc: Ilan Peer, Emmanuel Grumbach

From: Ilan Peer <ilan.peer@intel.com>

Current code did not allow sending the broadcast filtering command
for P2P Client interfaces. However, this was not enough, since once
broadcast filtering command was issued over the station interface
after the P2P Client connected, the command also attached the filters
to the P2P Client MAC which is not allowed (FW ASSERT 1063).

Fix this skipping P2P Client interfaces when constructing the broadcast
filtering command

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Reviewed-by: ArikX Nemtsov <arik@wizery.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
---
 drivers/net/wireless/iwlwifi/mvm/mac80211.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 1cef708..9bfb906 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -1166,8 +1166,12 @@ static void iwl_mvm_bcast_filter_iterator(void *_data, u8 *mac,
 
 	bcast_mac = &cmd->macs[mvmvif->id];
 
-	/* enable filtering only for associated stations */
-	if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc)
+	/*
+	 * enable filtering only for associated stations, but not for P2P
+	 * Clients
+	 */
+	if (vif->type != NL80211_IFTYPE_STATION || vif->p2p ||
+	    !vif->bss_conf.assoc)
 		return;
 
 	bcast_mac->default_discard = 1;
@@ -1244,10 +1248,6 @@ static int iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm,
 	if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BCAST_FILTERING))
 		return 0;
 
-	/* bcast filtering isn't supported for P2P client */
-	if (vif->p2p)
-		return 0;
-
 	if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
 		return 0;
 
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] iwlwifi: dvm: don't enable CTS to self
  2014-07-05 19:32 pull request: iwlwifi 2014-07-05 Emmanuel Grumbach
  2014-07-05 19:33 ` [PATCH 1/3] iwlwifi: mvm: Fix broadcast filtering Emmanuel Grumbach
@ 2014-07-05 19:33 ` Emmanuel Grumbach
  2014-07-05 19:33 ` [PATCH 3/3] iwlwifi: mvm: disable CTS to Self Emmanuel Grumbach
  2014-07-07 19:00 ` pull request: iwlwifi 2014-07-05 John W. Linville
  3 siblings, 0 replies; 5+ messages in thread
From: Emmanuel Grumbach @ 2014-07-05 19:33 UTC (permalink / raw)
  To: linux-wireless; +Cc: Emmanuel Grumbach, stable

From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

We should always prefer to use full RTS protection. Using
CTS to self gives a meaningless improvement, but this flow
is much harder for the firmware which is likely to have
issues with it.

CC: <stable@vger.kernel.org>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
---
 drivers/net/wireless/iwlwifi/dvm/rxon.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/dvm/rxon.c b/drivers/net/wireless/iwlwifi/dvm/rxon.c
index ed50de6..6dc5dd3 100644
--- a/drivers/net/wireless/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/iwlwifi/dvm/rxon.c
@@ -1068,13 +1068,6 @@ int iwlagn_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 	/* recalculate basic rates */
 	iwl_calc_basic_rates(priv, ctx);
 
-	/*
-	 * force CTS-to-self frames protection if RTS-CTS is not preferred
-	 * one aggregation protection method
-	 */
-	if (!priv->hw_params.use_rts_for_aggregation)
-		ctx->staging.flags |= RXON_FLG_SELF_CTS_EN;
-
 	if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) ||
 	    !(ctx->staging.flags & RXON_FLG_BAND_24G_MSK))
 		ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
@@ -1480,11 +1473,6 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
 	else
 		ctx->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK;
 
-	if (bss_conf->use_cts_prot)
-		ctx->staging.flags |= RXON_FLG_SELF_CTS_EN;
-	else
-		ctx->staging.flags &= ~RXON_FLG_SELF_CTS_EN;
-
 	memcpy(ctx->staging.bssid_addr, bss_conf->bssid, ETH_ALEN);
 
 	if (vif->type == NL80211_IFTYPE_AP ||
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] iwlwifi: mvm: disable CTS to Self
  2014-07-05 19:32 pull request: iwlwifi 2014-07-05 Emmanuel Grumbach
  2014-07-05 19:33 ` [PATCH 1/3] iwlwifi: mvm: Fix broadcast filtering Emmanuel Grumbach
  2014-07-05 19:33 ` [PATCH 2/3] iwlwifi: dvm: don't enable CTS to self Emmanuel Grumbach
@ 2014-07-05 19:33 ` Emmanuel Grumbach
  2014-07-07 19:00 ` pull request: iwlwifi 2014-07-05 John W. Linville
  3 siblings, 0 replies; 5+ messages in thread
From: Emmanuel Grumbach @ 2014-07-05 19:33 UTC (permalink / raw)
  To: linux-wireless; +Cc: Emmanuel Grumbach, stable

From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

Firmware folks seem say that this flag can make trouble.
Drop it. The advantage of CTS to self is that it slightly
reduces the cost of the protection, but make the protection
less reliable.

Cc: <stable@vger.kernel.org> [3.13+]
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
---
 drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
index 8b53027..725ba49 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
@@ -667,10 +667,9 @@ static void iwl_mvm_mac_ctxt_cmd_common(struct iwl_mvm *mvm,
 	if (vif->bss_conf.qos)
 		cmd->qos_flags |= cpu_to_le32(MAC_QOS_FLG_UPDATE_EDCA);
 
-	if (vif->bss_conf.use_cts_prot) {
+	if (vif->bss_conf.use_cts_prot)
 		cmd->protection_flags |= cpu_to_le32(MAC_PROT_FLG_TGG_PROTECT);
-		cmd->protection_flags |= cpu_to_le32(MAC_PROT_FLG_SELF_CTS_EN);
-	}
+
 	IWL_DEBUG_RATE(mvm, "use_cts_prot %d, ht_operation_mode %d\n",
 		       vif->bss_conf.use_cts_prot,
 		       vif->bss_conf.ht_operation_mode);
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: pull request: iwlwifi 2014-07-05
  2014-07-05 19:32 pull request: iwlwifi 2014-07-05 Emmanuel Grumbach
                   ` (2 preceding siblings ...)
  2014-07-05 19:33 ` [PATCH 3/3] iwlwifi: mvm: disable CTS to Self Emmanuel Grumbach
@ 2014-07-07 19:00 ` John W. Linville
  3 siblings, 0 replies; 5+ messages in thread
From: John W. Linville @ 2014-07-07 19:00 UTC (permalink / raw)
  To: Emmanuel Grumbach; +Cc: linux-wireless

On Sat, Jul 05, 2014 at 10:32:36PM +0300, Emmanuel Grumbach wrote:
> Hi John,
> 
> This pull request is intended for 3.a16.
> 
> I have here 2 patches that disable the usage of CTS to self. This keeps making trouble to the firmware and is not a really reliable protection anyway. We may re-enable it in the future, but in rarer cases. Along with this, I have a fix from Ilan that prevents a firmware assertion.
> 
> Please pull.
> 
> The following changes since commit a42c9fcc4a88cdd246fab3bcf06c4487afee3d88:
> 
>   Revert "iwlwifi: remove IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT flag" (2014-06-24 22:01:46 +0300)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes.git for-john
> 
> for you to fetch changes up to dc271ee0d04d12d6bfabacbec803289a7072fbd9:
> 
>   iwlwifi: mvm: disable CTS to Self (2014-07-03 20:55:18 +0300)

Pulling now...

-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-07-07 19:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-05 19:32 pull request: iwlwifi 2014-07-05 Emmanuel Grumbach
2014-07-05 19:33 ` [PATCH 1/3] iwlwifi: mvm: Fix broadcast filtering Emmanuel Grumbach
2014-07-05 19:33 ` [PATCH 2/3] iwlwifi: dvm: don't enable CTS to self Emmanuel Grumbach
2014-07-05 19:33 ` [PATCH 3/3] iwlwifi: mvm: disable CTS to Self Emmanuel Grumbach
2014-07-07 19:00 ` pull request: iwlwifi 2014-07-05 John W. Linville

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).