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>
Sun, 31 Jan 2016 19:23:32 +0000 (11:23 -0800)
commitaf95ff49d83b6ccb628bc5b7b1caa994fd2a27c9
tree79024a0d6d6cefac197abbc9e70ccf9e9775e569
parent9bc3da2497b3b21e686175ce2a5bbb15182534fd
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