diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-10-01 11:12:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-10-01 11:12:36 -0400 |
commit | 41f4a6f71fe33faa7971c173c263fb431fe987fe (patch) | |
tree | fdc3e603162e3ad63f6ae4160f68eb803bb78d58 /drivers/net/wireless/wl12xx | |
parent | 94d57c4cfaa43e29ca5fa5ff874048cfc67276f5 (diff) | |
parent | 1728943d83e9fd919e454332fe344944123b3c3a (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r-- | drivers/net/wireless/wl12xx/Makefile | 3 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_boot.c | 17 |
2 files changed, 9 insertions, 11 deletions
diff --git a/drivers/net/wireless/wl12xx/Makefile b/drivers/net/wireless/wl12xx/Makefile index 078b4398ac1f..0d334d6f86f4 100644 --- a/drivers/net/wireless/wl12xx/Makefile +++ b/drivers/net/wireless/wl12xx/Makefile | |||
@@ -16,3 +16,6 @@ wl1271-$(CONFIG_NL80211_TESTMODE) += wl1271_testmode.o | |||
16 | obj-$(CONFIG_WL1271) += wl1271.o | 16 | obj-$(CONFIG_WL1271) += wl1271.o |
17 | obj-$(CONFIG_WL1271_SPI) += wl1271_spi.o | 17 | obj-$(CONFIG_WL1271_SPI) += wl1271_spi.o |
18 | obj-$(CONFIG_WL1271_SDIO) += wl1271_sdio.o | 18 | obj-$(CONFIG_WL1271_SDIO) += wl1271_sdio.o |
19 | |||
20 | # small builtin driver bit | ||
21 | obj-$(CONFIG_WL12XX_PLATFORM_DATA) += wl12xx_platform_data.o | ||
diff --git a/drivers/net/wireless/wl12xx/wl1271_boot.c b/drivers/net/wireless/wl12xx/wl1271_boot.c index fc21db810812..e5a7f042645f 100644 --- a/drivers/net/wireless/wl12xx/wl1271_boot.c +++ b/drivers/net/wireless/wl12xx/wl1271_boot.c | |||
@@ -274,11 +274,11 @@ static int wl1271_boot_upload_nvs(struct wl1271 *wl) | |||
274 | 274 | ||
275 | /* | 275 | /* |
276 | * We've reached the first zero length, the first NVS table | 276 | * We've reached the first zero length, the first NVS table |
277 | * is 7 bytes further. | 277 | * is located at an aligned offset which is at least 7 bytes further. |
278 | */ | 278 | */ |
279 | nvs_ptr += 7; | 279 | nvs_ptr = (u8 *)wl->nvs->nvs + |
280 | ALIGN(nvs_ptr - (u8 *)wl->nvs->nvs + 7, 4); | ||
280 | nvs_len -= nvs_ptr - (u8 *)wl->nvs->nvs; | 281 | nvs_len -= nvs_ptr - (u8 *)wl->nvs->nvs; |
281 | nvs_len = ALIGN(nvs_len, 4); | ||
282 | 282 | ||
283 | /* FIXME: The driver sets the partition here, but this is not needed, | 283 | /* FIXME: The driver sets the partition here, but this is not needed, |
284 | since it sets to the same one as currently in use */ | 284 | since it sets to the same one as currently in use */ |
@@ -286,14 +286,9 @@ static int wl1271_boot_upload_nvs(struct wl1271 *wl) | |||
286 | wl1271_set_partition(wl, &part_table[PART_WORK]); | 286 | wl1271_set_partition(wl, &part_table[PART_WORK]); |
287 | 287 | ||
288 | /* Copy the NVS tables to a new block to ensure alignment */ | 288 | /* Copy the NVS tables to a new block to ensure alignment */ |
289 | /* FIXME: We jump 3 more bytes before uploading the NVS. It seems | 289 | nvs_aligned = kmemdup(nvs_ptr, nvs_len, GFP_KERNEL); |
290 | that our NVS files have three extra zeros here. I'm not sure whether | 290 | if (!nvs_aligned) |
291 | the problem is in our NVS generation or we should really jumpt these | 291 | return -ENOMEM; |
292 | 3 bytes here */ | ||
293 | nvs_ptr += 3; | ||
294 | |||
295 | nvs_aligned = kmemdup(nvs_ptr, nvs_len, GFP_KERNEL); if | ||
296 | (!nvs_aligned) return -ENOMEM; | ||
297 | 292 | ||
298 | /* And finally we upload the NVS tables */ | 293 | /* And finally we upload the NVS tables */ |
299 | /* FIXME: In wl1271, we upload everything at once. | 294 | /* FIXME: In wl1271, we upload everything at once. |