aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271_main.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_main.c b/drivers/net/wireless/wl12xx/wl1271_main.c
index d30de58cef9..864318f096e 100644
--- a/drivers/net/wireless/wl12xx/wl1271_main.c
+++ b/drivers/net/wireless/wl12xx/wl1271_main.c
@@ -576,7 +576,7 @@ static int wl1271_fetch_nvs(struct wl1271 *wl)
576 goto out; 576 goto out;
577 } 577 }
578 578
579 wl->nvs = kzalloc(sizeof(struct wl1271_nvs_file), GFP_KERNEL); 579 wl->nvs = kmemdup(fw->data, sizeof(struct wl1271_nvs_file), GFP_KERNEL);
580 580
581 if (!wl->nvs) { 581 if (!wl->nvs) {
582 wl1271_error("could not allocate memory for the nvs file"); 582 wl1271_error("could not allocate memory for the nvs file");
@@ -584,8 +584,6 @@ static int wl1271_fetch_nvs(struct wl1271 *wl)
584 goto out; 584 goto out;
585 } 585 }
586 586
587 memcpy(wl->nvs, fw->data, fw->size);
588
589out: 587out:
590 release_firmware(fw); 588 release_firmware(fw);
591 589
@@ -2350,15 +2348,13 @@ struct ieee80211_hw *wl1271_alloc_hw(void)
2350 goto err_hw_alloc; 2348 goto err_hw_alloc;
2351 } 2349 }
2352 2350
2353 plat_dev = kmalloc(sizeof(wl1271_device), GFP_KERNEL); 2351 plat_dev = kmemdup(&wl1271_device, sizeof(wl1271_device), GFP_KERNEL);
2354 if (!plat_dev) { 2352 if (!plat_dev) {
2355 wl1271_error("could not allocate platform_device"); 2353 wl1271_error("could not allocate platform_device");
2356 ret = -ENOMEM; 2354 ret = -ENOMEM;
2357 goto err_plat_alloc; 2355 goto err_plat_alloc;
2358 } 2356 }
2359 2357
2360 memcpy(plat_dev, &wl1271_device, sizeof(wl1271_device));
2361
2362 wl = hw->priv; 2358 wl = hw->priv;
2363 memset(wl, 0, sizeof(*wl)); 2359 memset(wl, 0, sizeof(*wl));
2364 2360