ALSA: rme96: Fix unexpected volume reset after rate changes
authorTakashi Iwai <tiwai@suse.de>
Fri, 4 Dec 2015 15:44:24 +0000 (16:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 29 Jan 2016 05:49:29 +0000 (21:49 -0800)
commit43702b71b470a629db5729048ecb1b2bed64fd36
tree31d3a3ecc53fa5a6c5b39c16a733f37231707883
parentb768cd78b5cc44f8175aaf443b0c68c7957ff548
ALSA: rme96: Fix unexpected volume reset after rate changes

commit a74a821624c0c75388a193337babd17a8c02c740 upstream.

rme96 driver needs to reset DAC depending on the sample rate, and this
results in resetting to the max volume suddenly.  It's because of the
missing call of snd_rme96_apply_dac_volume().

However, calling this function right after the DAC reset still may not
work, and we need some delay before this call.  Since the DAC reset
and the procedure after that are performed in the spinlock, we delay
the DAC volume restore at the end after the spinlock.

Reported-and-tested-by: Sylvain LABOISNE <maeda1@free.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/rme96.c