From: Luciano Coelho <coelho@ti.com>
To: Shahar Levi <shahar_levi@ti.com>
Cc: linux-wireless@vger.kernel.org
Subject: Re: [PATCH 05/15] wl12xx: 1281/1283 support - Loading FW & NVS
Date: Thu, 10 Mar 2011 23:13:48 +0200 [thread overview]
Message-ID: <1299791628.1816.125.camel@cumari> (raw)
In-Reply-To: <1299421940-26292-6-git-send-email-shahar_levi@ti.com>
> diff --git a/drivers/net/wireless/wl12xx/boot.c b/drivers/net/wireless/wl12xx/boot.c
> index 69fe870..7984631 100644
> --- a/drivers/net/wireless/wl12xx/boot.c
> +++ b/drivers/net/wireless/wl12xx/boot.c
> @@ -240,36 +240,62 @@ static int wl1271_boot_upload_nvs(struct wl1271 *wl)
> u32 dest_addr, val;
> u8 *nvs_ptr, *nvs_aligned;
>
> - if (wl->nvs == NULL)
> - return -ENODEV;
> + if (wl->chip.id == CHIP_ID_1283_PG20) {
> + struct wl128x_nvs_file *nvs = (struct wl128x_nvs_file *)wl->nvs;
> +
> + if (nvs == NULL)
> + return -ENODEV;
> +
> + if (wl->nvs_len == sizeof(struct wl128x_nvs_file)) {
> + if (nvs->general_params.dual_mode_select)
> + wl->enable_11a = true;
> + } else {
> + wl1271_error("nvs size is not as expected: %zu != %zu",
> + wl->nvs_len,
> + sizeof(struct wl128x_nvs_file));
> + kfree(nvs);
> + nvs = NULL;
This is wrong. You're just setting the local nvs variable to NULL.
It's wl->nvs that should be set to NULL instead.
> + wl->nvs_len = 0;
> + return -EILSEQ;
> + }
>
> - /*
> - * FIXME: the LEGACY NVS image support (NVS's missing the 5GHz band
> - * configurations) can be removed when those NVS files stop floating
> - * around.
> - */
> - if (wl->nvs_len == sizeof(struct wl1271_nvs_file) ||
> - wl->nvs_len == WL1271_INI_LEGACY_NVS_FILE_SIZE) {
> - /* for now 11a is unsupported in AP mode */
> - if (wl->bss_type != BSS_TYPE_AP_BSS &&
> - wl->nvs->general_params.dual_mode_select)
> - wl->enable_11a = true;
> - }
> + /* only the first part of the NVS needs to be uploaded */
> + nvs_len = sizeof(nvs->nvs);
> + nvs_ptr = (u8 *)nvs->nvs;
>
> - if (wl->nvs_len != sizeof(struct wl1271_nvs_file) &&
> - (wl->nvs_len != WL1271_INI_LEGACY_NVS_FILE_SIZE ||
> - wl->enable_11a)) {
> - wl1271_error("nvs size is not as expected: %zu != %zu",
> - wl->nvs_len, sizeof(struct wl1271_nvs_file));
> - kfree(wl->nvs);
> - wl->nvs = NULL;
Same thing here. I have fixed these.
This was causing very bad behaviour when the NVS was with the wrong
size, because we were not setting wl->nvs to NULL, but were setting
wl->nvs_len to 0.
--
Cheers,
Luca.
next prev parent reply other threads:[~2011-03-10 21:13 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-06 14:32 [PATCH 00/15] wl12xx: 1281/1283 support Shahar Levi
2011-03-06 14:32 ` [PATCH 01/15] wl12xx: 1281/1283 support - move IRQ polarity Shahar Levi
2011-03-06 14:32 ` [PATCH 02/15] wl12xx: 1281/1283 support - Add Definitions Shahar Levi
2011-03-06 14:32 ` [PATCH 03/15] wl12xx: 1281/1283 support - Add acx commands Shahar Levi
2011-03-07 12:53 ` [PATCH] wl12xx: fixes for " Luciano Coelho
2011-03-07 12:55 ` Luciano Coelho
2011-03-08 7:57 ` [PATCH v2] " Luciano Coelho
2011-03-08 16:56 ` Levi, Shahar
2011-03-06 14:32 ` [PATCH 04/15] wl12xx: 1281/1283 support - New radio struc & func Shahar Levi
2011-03-06 14:32 ` [PATCH 05/15] wl12xx: 1281/1283 support - Loading FW & NVS Shahar Levi
2011-03-10 21:13 ` Luciano Coelho [this message]
2011-03-06 14:32 ` [PATCH 06/15] wl12xx: 1281/1283 support - New boot sequence Shahar Levi
2011-03-08 13:11 ` Luciano Coelho
2011-03-08 18:08 ` Levi, Shahar
2011-03-09 8:12 ` Luciano Coelho
2011-03-08 13:37 ` [PATCH] wl12xx: fixes for " Luciano Coelho
2011-03-08 18:15 ` Levi, Shahar
2011-03-09 8:16 ` Luciano Coelho
2011-03-06 14:32 ` [PATCH 07/15] wl12xx: 1281/1283 support - Set mem conf & dynamic mem Shahar Levi
2011-03-06 14:32 ` [PATCH 08/15] wl12xx: 1281/1283 support - Improve Tx & Rx path Shahar Levi
2011-03-09 8:41 ` Luciano Coelho
2011-03-06 14:32 ` [PATCH 09/15] wl12xx: 1281/1283 support - Add dummy packet support Shahar Levi
2011-03-06 14:32 ` [PATCH 10/15] wl12xx: 1281/1283 support - Set WiFi & BT cox Shahar Levi
2011-03-09 14:37 ` Luciano Coelho
2011-03-09 17:39 ` Levi, Shahar
2011-03-09 18:15 ` Luciano Coelho
2011-03-06 14:32 ` [PATCH 11/15] wl12xx: 1281/1283 support - Add chip interrupt pacing Shahar Levi
2011-03-06 14:32 ` [PATCH 12/15] wl12xx: 1281/1283 support - Use 1 spare blocks for 128x STA, and 2 for the rest Shahar Levi
2011-03-06 14:32 ` [PATCH 13/15] wl12xx: 1281/1283 support - Use different FW file for AP mode wl127x/wl128x chips Shahar Levi
2011-03-06 14:32 ` [PATCH 14/15] wl12xx: 1281/1283 support - disable TX aggregation for AP mode in wl128x Shahar Levi
[not found] ` <AANLkTik8TYGmg3hekoN546ToRDxi5HJeoq75R29WfSxt@mail.gmail.com>
2011-03-06 15:38 ` Arik Nemtsov
2011-03-06 14:32 ` [PATCH 15/15] wl12xx: 1281/1283 support - enable chip support Shahar Levi
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=1299791628.1816.125.camel@cumari \
--to=coelho@ti.com \
--cc=linux-wireless@vger.kernel.org \
--cc=shahar_levi@ti.com \
/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