Commit 27b81bbe authored by Julia Lawall's avatar Julia Lawall Committed by John W. Linville

drivers/net/wireless/p54: 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: default avatarJulia Lawall <julia@diku.dk>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent d3e5033d
...@@ -599,13 +599,13 @@ int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len) ...@@ -599,13 +599,13 @@ int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
} }
break; break;
case PDR_PRISM_ZIF_TX_IQ_CALIBRATION: case PDR_PRISM_ZIF_TX_IQ_CALIBRATION:
priv->iq_autocal = kmalloc(data_len, GFP_KERNEL); priv->iq_autocal = kmemdup(entry->data, data_len,
GFP_KERNEL);
if (!priv->iq_autocal) { if (!priv->iq_autocal) {
err = -ENOMEM; err = -ENOMEM;
goto err; goto err;
} }
memcpy(priv->iq_autocal, entry->data, data_len);
priv->iq_autocal_len = data_len / sizeof(struct pda_iq_autocal_entry); priv->iq_autocal_len = data_len / sizeof(struct pda_iq_autocal_entry);
break; break;
case PDR_DEFAULT_COUNTRY: case PDR_DEFAULT_COUNTRY:
......
...@@ -433,10 +433,9 @@ static int p54u_firmware_reset_3887(struct ieee80211_hw *dev) ...@@ -433,10 +433,9 @@ static int p54u_firmware_reset_3887(struct ieee80211_hw *dev)
u8 *buf; u8 *buf;
int ret; int ret;
buf = kmalloc(4, GFP_KERNEL); buf = kmemdup(p54u_romboot_3887, 4, GFP_KERNEL);
if (!buf) if (!buf)
return -ENOMEM; return -ENOMEM;
memcpy(buf, p54u_romboot_3887, 4);
ret = p54u_bulk_msg(priv, P54U_PIPE_DATA, ret = p54u_bulk_msg(priv, P54U_PIPE_DATA,
buf, 4); buf, 4);
kfree(buf); kfree(buf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment