diff options
author | Julia Lawall <julia@diku.dk> | 2010-05-15 17:16:39 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-07-26 15:32:40 -0400 |
commit | 929ebd30e4f982a1d2817f70154e7441f5714118 (patch) | |
tree | 4ff2f64fb6d1e695ddc3c837b6b8c6eab64894e6 /drivers | |
parent | 3289a8368c294726659588d044e354dd3bcf44b3 (diff) |
drivers/net/wireless/wl12xx: Use kmemdup
Use kmemdup when some other buffer is immediately copied into the
allocated region.
A simplified version of the semantic patch that makes this change is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
expression from,to,size,flag;
statement S;
@@
- to = \(kmalloc\|kzalloc\)(size,flag);
+ to = kmemdup(from,size,flag);
if (to==NULL || ...) S
- memcpy(to, from, size);
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_main.c | 8 |
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 d30de58cef90..864318f096ea 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 | |||
589 | out: | 587 | out: |
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 | ||