diff options
author | Julia Lawall <julia@diku.dk> | 2010-05-15 17:20:26 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-02 16:13:11 -0400 |
commit | a61aac7cf1af1549d03cb8e7549c5427fabc6f5e (patch) | |
tree | 6fc38a02ef679bbdda455e4933fc7f7db8b25901 /drivers/net/wireless | |
parent | a465a2cc6eb55908a70e386b729293e9d9e4726e (diff) |
drivers/net/wireless/b43: 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/net/wireless')
-rw-r--r-- | drivers/net/wireless/b43/dma.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c index fa40fdfea719..fdfeab0c21a0 100644 --- a/drivers/net/wireless/b43/dma.c +++ b/drivers/net/wireless/b43/dma.c | |||
@@ -1221,14 +1221,14 @@ static int dma_tx_fragment(struct b43_dmaring *ring, | |||
1221 | meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1); | 1221 | meta->dmaaddr = map_descbuffer(ring, skb->data, skb->len, 1); |
1222 | /* create a bounce buffer in zone_dma on mapping failure. */ | 1222 | /* create a bounce buffer in zone_dma on mapping failure. */ |
1223 | if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) { | 1223 | if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) { |
1224 | priv_info->bouncebuffer = kmalloc(skb->len, GFP_ATOMIC | GFP_DMA); | 1224 | priv_info->bouncebuffer = kmemdup(skb->data, skb->len, |
1225 | GFP_ATOMIC | GFP_DMA); | ||
1225 | if (!priv_info->bouncebuffer) { | 1226 | if (!priv_info->bouncebuffer) { |
1226 | ring->current_slot = old_top_slot; | 1227 | ring->current_slot = old_top_slot; |
1227 | ring->used_slots = old_used_slots; | 1228 | ring->used_slots = old_used_slots; |
1228 | err = -ENOMEM; | 1229 | err = -ENOMEM; |
1229 | goto out_unmap_hdr; | 1230 | goto out_unmap_hdr; |
1230 | } | 1231 | } |
1231 | memcpy(priv_info->bouncebuffer, skb->data, skb->len); | ||
1232 | 1232 | ||
1233 | meta->dmaaddr = map_descbuffer(ring, priv_info->bouncebuffer, skb->len, 1); | 1233 | meta->dmaaddr = map_descbuffer(ring, priv_info->bouncebuffer, skb->len, 1); |
1234 | if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) { | 1234 | if (b43_dma_mapping_error(ring, meta->dmaaddr, skb->len, 1)) { |