All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH wireless-2.6] iwlwifi: fix frame injection for HT channels
@ 2011-04-18 15:41 Wey-Yi Guy
  2011-04-19 11:41 ` Stanislaw Gruszka
  0 siblings, 1 reply; 3+ messages in thread
From: Wey-Yi Guy @ 2011-04-18 15:41 UTC (permalink / raw)
  To: linville; +Cc: linux-wireless, ipw3945-devel, Daniel Halperin, Wey-Yi Guy

From: Daniel Halperin <dhalperi@cs.washington.edu>

For some reason, sending QoS configuration causes transmission to stop
after a single frame on HT channels when not associated. Removing the
extra QoS configuration has no effect on station mode, and fixes
injection mode.

Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
---
these patches are also available from wireless-2.6 branch on
 git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git

 drivers/net/wireless/iwlwifi/iwl-agn-rxon.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
index dfdbea6..fbbde07 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
@@ -335,7 +335,6 @@ int iwlagn_mac_config(struct ieee80211_hw *hw, u32 changed)
 	struct ieee80211_channel *channel = conf->channel;
 	const struct iwl_channel_info *ch_info;
 	int ret = 0;
-	bool ht_changed[NUM_IWL_RXON_CTX] = {};
 
 	IWL_DEBUG_MAC80211(priv, "changed %#x", changed);
 
@@ -383,10 +382,8 @@ int iwlagn_mac_config(struct ieee80211_hw *hw, u32 changed)
 
 		for_each_context(priv, ctx) {
 			/* Configure HT40 channels */
-			if (ctx->ht.enabled != conf_is_ht(conf)) {
+			if (ctx->ht.enabled != conf_is_ht(conf))
 				ctx->ht.enabled = conf_is_ht(conf);
-				ht_changed[ctx->ctxid] = true;
-			}
 
 			if (ctx->ht.enabled) {
 				if (conf_is_ht40_minus(conf)) {
@@ -455,8 +452,6 @@ int iwlagn_mac_config(struct ieee80211_hw *hw, u32 changed)
 		if (!memcmp(&ctx->staging, &ctx->active, sizeof(ctx->staging)))
 			continue;
 		iwlagn_commit_rxon(priv, ctx);
-		if (ht_changed[ctx->ctxid])
-			iwlagn_update_qos(priv, ctx);
 	}
  out:
 	mutex_unlock(&priv->mutex);
-- 
1.7.0.4


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

* Re: [PATCH wireless-2.6] iwlwifi: fix frame injection for HT channels
  2011-04-18 15:41 [PATCH wireless-2.6] iwlwifi: fix frame injection for HT channels Wey-Yi Guy
@ 2011-04-19 11:41 ` Stanislaw Gruszka
  2011-04-19 11:56   ` Johannes Berg
  0 siblings, 1 reply; 3+ messages in thread
From: Stanislaw Gruszka @ 2011-04-19 11:41 UTC (permalink / raw)
  To: Wey-Yi Guy; +Cc: linville, linux-wireless, ipw3945-devel, Daniel Halperin

On Mon, Apr 18, 2011 at 08:41:31AM -0700, Wey-Yi Guy wrote:
> From: Daniel Halperin <dhalperi@cs.washington.edu>
> 
> For some reason, sending QoS configuration causes transmission to stop
> after a single frame on HT channels when not associated. Removing the
> extra QoS configuration has no effect on station mode, and fixes
> injection mode.
> 
> Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
> ---
> these patches are also available from wireless-2.6 branch on
>  git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git

This is basically revert of:

commit 35a6eb36520b938742d8680fd8d821df20982ced
Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Date:   Wed Nov 10 09:56:43 2010 -0800

    iwlwifi: resending QoS command when HT changes
    
    "mac80211: Fix WMM driver queue configuration"
    inadvertedly broke iwlwifi, because now mac80211
    configures the QoS settings before assoc, and
    therefore before HT. Thus, iwlwifi no longer told
    the device about the HT setting, which it needs
    to -- and thus throughput went down a lot. Fix
    this by resending the QoS command to the device
    not only when QoS/WMM settings change, but also
    when HT changes.

Does problem that 35a6eb36520b938742d8680fd8d821df20982ced fixed
gone now? How?

Stanislaw

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

* Re: [PATCH wireless-2.6] iwlwifi: fix frame injection for HT channels
  2011-04-19 11:41 ` Stanislaw Gruszka
@ 2011-04-19 11:56   ` Johannes Berg
  0 siblings, 0 replies; 3+ messages in thread
From: Johannes Berg @ 2011-04-19 11:56 UTC (permalink / raw)
  To: Stanislaw Gruszka
  Cc: Wey-Yi Guy, linville, linux-wireless, ipw3945-devel, Daniel Halperin

On Tue, 2011-04-19 at 13:41 +0200, Stanislaw Gruszka wrote:
> On Mon, Apr 18, 2011 at 08:41:31AM -0700, Wey-Yi Guy wrote:
> > From: Daniel Halperin <dhalperi@cs.washington.edu>
> > 
> > For some reason, sending QoS configuration causes transmission to stop
> > after a single frame on HT channels when not associated. Removing the
> > extra QoS configuration has no effect on station mode, and fixes
> > injection mode.
> > 
> > Signed-off-by: Daniel Halperin <dhalperi@cs.washington.edu>
> > Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
> > ---
> > these patches are also available from wireless-2.6 branch on
> >  git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git
> 
> This is basically revert of:
> 
> commit 35a6eb36520b938742d8680fd8d821df20982ced
> Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
> Date:   Wed Nov 10 09:56:43 2010 -0800
> 
>     iwlwifi: resending QoS command when HT changes

Indeed.
    

> Does problem that 35a6eb36520b938742d8680fd8d821df20982ced fixed
> gone now? How?

Yes, Shanyu had another patch to send QoS info after RXON, so this one
isn't necessary any more.

johannes


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

end of thread, other threads:[~2011-04-19 11:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-18 15:41 [PATCH wireless-2.6] iwlwifi: fix frame injection for HT channels Wey-Yi Guy
2011-04-19 11:41 ` Stanislaw Gruszka
2011-04-19 11:56   ` Johannes Berg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.