diff options
author | Giuliano Pochini <pochini@shiny.it> | 2010-02-14 12:15:59 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-02-15 04:39:22 -0500 |
commit | ad3499f4668f684ef6e5d0222ae14d5e4ade1fdd (patch) | |
tree | 6c4599e78d3f29df5cd17b8d2006f69f006acea3 /sound/pci/echoaudio/indigodjx_dsp.c | |
parent | 4f8ada444cc7a7ea70cdc81f098b34c5f1f2df41 (diff) |
ALSA: Echoaudio - Add suspend support #1
Move the controls init code outside the init_hw() function because is must
not be called during resume.
This patch moves the code that initializes the card's controls with
default valued from the init_hw() function into a separated
set_mixer_defaults() function (one for each of the 16 supported
cards). This change is necessary because during resume we must
resurrect the hardware without losing the previous
settings. set_mixer_defaults() must be called only once when the
module is loaded.
Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/echoaudio/indigodjx_dsp.c')
-rw-r--r-- | sound/pci/echoaudio/indigodjx_dsp.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sound/pci/echoaudio/indigodjx_dsp.c b/sound/pci/echoaudio/indigodjx_dsp.c index 91dbfeb586a7..bb9632c752a9 100644 --- a/sound/pci/echoaudio/indigodjx_dsp.c +++ b/sound/pci/echoaudio/indigodjx_dsp.c | |||
@@ -59,10 +59,13 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id) | |||
59 | return err; | 59 | return err; |
60 | chip->bad_board = FALSE; | 60 | chip->bad_board = FALSE; |
61 | 61 | ||
62 | err = init_line_levels(chip); | ||
63 | if (err < 0) | ||
64 | return err; | ||
65 | |||
66 | DE_INIT(("init_hw done\n")); | 62 | DE_INIT(("init_hw done\n")); |
67 | return err; | 63 | return err; |
68 | } | 64 | } |
65 | |||
66 | |||
67 | |||
68 | static int set_mixer_defaults(struct echoaudio *chip) | ||
69 | { | ||
70 | return init_line_levels(chip); | ||
71 | } | ||