Messages in this thread Patch in this message | | | Subject | [PATCH] ALSA: usb-audio: Use kmemdup rather than duplicating its implementation | From | Thomas Meyer <> | Date | Thu, 10 Nov 2011 19:38:43 +0100 |
| |
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> ---
diff -u -p a/sound/usb/quirks.c b/sound/usb/quirks.c --- a/sound/usb/quirks.c 2011-11-07 19:38:37.987378553 +0100 +++ b/sound/usb/quirks.c 2011-11-08 11:06:23.015258350 +0100 @@ -137,12 +137,12 @@ static int create_fixed_stream_quirk(str 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_ 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; .
| |