diff options
Diffstat (limited to 'sound/pci/echoaudio')
-rw-r--r-- | sound/pci/echoaudio/layla24_dsp.c | 4 |
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 | ||