linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Guy, Wey-Yi" <wey-yi.w.guy@intel.com>
To: Helmut Schaa <helmut.schaa@googlemail.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Johannes Berg <johannes@sipsolutions.net>
Subject: Re: iwl4965: 11n broken
Date: Thu, 20 Jan 2011 07:35:07 -0800	[thread overview]
Message-ID: <1295537707.21281.1.camel@wwguy-ubuntu> (raw)
In-Reply-To: <201101201242.24680.helmut.schaa@googlemail.com>

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

Hi Helmut,

On Thu, 2011-01-20 at 03:42 -0800, Helmut Schaa wrote:
> Hi,
> 
> I've just updated my workstation to wireless-testing from last
> week (2.6.37-wl-default+). When associating to a 11n router the
> card only associates as 11g, the assoc request doesn't contain
> any HT IEs.
> 
> The causing commit is:
> 
> commit 21a5b3c6b19a8b8972ccdd55389be28a8b7c9180
> Author: Wey-Yi Guy <wey-yi.w.guy@intel.com>
> Date:   Wed Nov 10 13:32:59 2010 -0800
> 
>     iwlagn: use SKU information in the EEPROM
>     
>     EEPROM contain the SKU information for the device, use it.
>     
>     Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
> 
> 
> Seems as if the device eeprom hasn't set EEPROM_SKU_CAP_11N_ENABLE and thus
> iwlagn thinks the device is not 11n capable.
> 
> Ideas? Should we just revert the 4965 part of the patch and modify 
> iwl_eeprom_check_sku to allow overwriting the sku field? Do 4965 devices
> exists that are not 11n capable?
> 
Sorry for the mistake, here I attach the patch to address this issue.
Please give a try to see if it fix it, I will also push this patch
upstream if works for you.

Thanks
Wey

[-- Attachment #2: 0001-iwlwifi-don-t-read-sku-information-from-EEPROM-for.patch --]
[-- Type: text/x-patch, Size: 2094 bytes --]

>From 98af51fc1635b2b2138e66def03acc1fe8eb8329 Mon Sep 17 00:00:00 2001
From: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Date: Thu, 20 Jan 2011 07:32:06 -0800
Subject: [PATCH 1/1] iwlwifi: don't read sku information from EEPROM for 4965

For all the new devices, the sku information should read from EEPROM
but for legacy devices such as 4965, appearly the EEPROM does not
contain the necessary information. so skip the read from EEPROM
and go back to use software configuration.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
---
 drivers/net/wireless/iwlwifi/iwl-4965.c       |    1 +
 drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c |   11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index dada0c3..6eae0b0 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -2621,6 +2621,7 @@ struct iwl_cfg iwl4965_agn_cfg = {
 	.fw_name_pre = IWL4965_FW_PRE,
 	.ucode_api_max = IWL4965_UCODE_API_MAX,
 	.ucode_api_min = IWL4965_UCODE_API_MIN,
+	.sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N,
 	.valid_tx_ant = ANT_AB,
 	.valid_rx_ant = ANT_ABC,
 	.eeprom_ver = EEPROM_4965_EEPROM_VERSION,
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c b/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c
index 14ceb4d..27b5a3e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c
@@ -152,11 +152,14 @@ int iwl_eeprom_check_sku(struct iwl_priv *priv)
 
 	eeprom_sku = iwl_eeprom_query16(priv, EEPROM_SKU_CAP);
 
-	priv->cfg->sku = ((eeprom_sku & EEPROM_SKU_CAP_BAND_SELECTION) >>
+	if (!priv->cfg->sku) {
+		/* not using sku overwrite */
+		priv->cfg->sku =
+			((eeprom_sku & EEPROM_SKU_CAP_BAND_SELECTION) >>
 			EEPROM_SKU_CAP_BAND_POS);
-	if (eeprom_sku & EEPROM_SKU_CAP_11N_ENABLE)
-		priv->cfg->sku |= IWL_SKU_N;
-
+		if (eeprom_sku & EEPROM_SKU_CAP_11N_ENABLE)
+			priv->cfg->sku |= IWL_SKU_N;
+	}
 	if (!priv->cfg->sku) {
 		IWL_ERR(priv, "Invalid device sku\n");
 		return -EINVAL;
-- 
1.6.0.4


  reply	other threads:[~2011-01-20 15:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-20 11:42 iwl4965: 11n broken Helmut Schaa
2011-01-20 15:35 ` Guy, Wey-Yi [this message]
2011-01-20 15:46   ` Helmut Schaa
2011-01-20 15:49     ` Guy, Wey-Yi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1295537707.21281.1.camel@wwguy-ubuntu \
    --to=wey-yi.w.guy@intel.com \
    --cc=helmut.schaa@googlemail.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).