wl1271: upload only the first 468 bytes from the NVS file

We were uploading the whole NVS file, but that is wrong, because the same
file also contains the initialization values.  For the latest firmwares, we
should upload only the initial 468 bytes from the file.

Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Luciano Coelho 2009-12-11 15:40:53 +02:00 коммит произвёл John W. Linville
Родитель 98b2a68473
Коммит 8cf5e8e509
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -111,6 +111,7 @@ enum {
#define WL1271_FW_NAME "wl1271-fw.bin" #define WL1271_FW_NAME "wl1271-fw.bin"
#define WL1271_NVS_NAME "wl1271-nvs.bin" #define WL1271_NVS_NAME "wl1271-nvs.bin"
#define WL1271_NVS_LEN 468
/* /*
* Enable/disable 802.11a support for WL1273 * Enable/disable 802.11a support for WL1273

Просмотреть файл

@ -225,9 +225,15 @@ static int wl1271_boot_upload_nvs(struct wl1271 *wl)
if (nvs == NULL) if (nvs == NULL)
return -ENODEV; return -ENODEV;
if (wl->nvs_len < WL1271_NVS_LEN)
return -EINVAL;
nvs_ptr = nvs; nvs_ptr = nvs;
nvs_len = wl->nvs_len; /* only the first part of the NVS needs to be uploaded */
nvs_len = WL1271_NVS_LEN;
/* FIXME: read init settings from the remaining part of the NVS */
/* Update the device MAC address into the nvs */ /* Update the device MAC address into the nvs */
nvs[11] = wl->mac_addr[0]; nvs[11] = wl->mac_addr[0];