aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/echoaudio
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/echoaudio')
-rw-r--r--sound/pci/echoaudio/layla24_dsp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/echoaudio/layla24_dsp.c b/sound/pci/echoaudio/layla24_dsp.c
index 7ec5b63d0dce..97e42e115147 100644
--- a/sound/pci/echoaudio/layla24_dsp.c
+++ b/sound/pci/echoaudio/layla24_dsp.c
@@ -302,11 +302,11 @@ static int switch_asic(struct echoaudio *chip, const struct firmware *asic)
302 302
303 /* Check to see if this is already loaded */ 303 /* Check to see if this is already loaded */
304 if (asic != chip->asic_code) { 304 if (asic != chip->asic_code) {
305 monitors = kmalloc(MONITOR_ARRAY_SIZE, GFP_KERNEL); 305 monitors = kmemdup(chip->comm_page->monitors,
306 MONITOR_ARRAY_SIZE, GFP_KERNEL);
306 if (! monitors) 307 if (! monitors)
307 return -ENOMEM; 308 return -ENOMEM;
308 309
309 memcpy(monitors, chip->comm_page->monitors, MONITOR_ARRAY_SIZE);
310 memset(chip->comm_page->monitors, ECHOGAIN_MUTED, 310 memset(chip->comm_page->monitors, ECHOGAIN_MUTED,
311 MONITOR_ARRAY_SIZE); 311 MONITOR_ARRAY_SIZE);
312 312