Skip to content

Commit

Permalink
ASoC: wm0010: Use kmemdup rather than duplicating its implementation
Browse files Browse the repository at this point in the history
kmemdup is introduced to duplicate a region of memory in a neat way.
Rather than kmalloc/kzalloc + memcpy, which the programmer needs to
write the size twice (sometimes lead to mistakes), kmemdup improves
readability, leads to smaller code and also reduce the chances of mistakes.
Suggestion to use kmemdup rather than using kmalloc/kzalloc + memcpy.

Signed-off-by: Fuqian Huang <[email protected]>
Acked-by: Richard Fitzgerald <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
  • Loading branch information
Yellow-Pay authored and broonie committed Jun 15, 2020
1 parent 17212e7 commit c01db8b
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions sound/soc/codecs/wm0010.c
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ static int wm0010_stage2_load(struct snd_soc_component *component)
dev_dbg(component->dev, "Downloading %zu byte stage 2 loader\n", fw->size);

/* Copy to local buffer first as vmalloc causes problems for dma */
img = kzalloc(fw->size, GFP_KERNEL | GFP_DMA);
img = kmemdup(&fw->data[0], fw->size, GFP_KERNEL | GFP_DMA);
if (!img) {
ret = -ENOMEM;
goto abort2;
Expand All @@ -527,8 +527,6 @@ static int wm0010_stage2_load(struct snd_soc_component *component)
goto abort1;
}

memcpy(img, &fw->data[0], fw->size);

spi_message_init(&m);
memset(&t, 0, sizeof(t));
t.rx_buf = out;
Expand Down

0 comments on commit c01db8b

Please sign in to comment.