summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Meyer <thomas@m3y3r.de>2011-11-10 19:38:43 +0100
committerTakashi Iwai <tiwai@suse.de>2011-11-10 19:51:45 +0100
commit43df2a57b773596cd0bdd2316889ff9653121015 (patch)
treeaf534b4284544bd5641b77a7d05f0496758e702e
parent2f451d2a2a44b66586b803763068195088f9ccd4 (diff)
ALSA: usb-audio: Use kmemdup rather than duplicating its implementation
Use kmemdup rather than duplicating its implementation The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/usb/quirks.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 2e5bc734402..a3ddac0deff 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -137,12 +137,12 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip,
return -ENOMEM;
}
if (fp->nr_rates > 0) {
- rate_table = kmalloc(sizeof(int) * fp->nr_rates, GFP_KERNEL);
+ rate_table = kmemdup(fp->rate_table,
+ sizeof(int) * fp->nr_rates, GFP_KERNEL);
if (!rate_table) {
kfree(fp);
return -ENOMEM;
}
- memcpy(rate_table, fp->rate_table, sizeof(int) * fp->nr_rates);
fp->rate_table = rate_table;
}
@@ -224,10 +224,9 @@ static int create_uaxx_quirk(struct snd_usb_audio *chip,
if (altsd->bNumEndpoints != 1)
return -ENXIO;
- fp = kmalloc(sizeof(*fp), GFP_KERNEL);
+ fp = kmemdup(&ua_format, sizeof(*fp), GFP_KERNEL);
if (!fp)
return -ENOMEM;
- memcpy(fp, &ua_format, sizeof(*fp));
fp->iface = altsd->bInterfaceNumber;
fp->endpoint = get_endpoint(alts, 0)->bEndpointAddress;