At Sun, 14 Oct 2012 21:09:23 +0200, Ondrej Zary wrote:
set_pro_rate() is called from hw_params() but not from prepare(), breaking running PCM on suspend/resume. Call it from prepare() if PCM was suspended to fix the problem.
Signed-off-by: Ondrej Zary linux@rainbow-software.org
This should be fixed in the resume callback. Could you check the patch below instead?
thanks,
Takashi
--- diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c index 161c8f6..5cc3fa5 100644 --- a/sound/pci/ice1712/ice1724.c +++ b/sound/pci/ice1712/ice1724.c @@ -2867,7 +2867,12 @@ static int snd_vt1724_resume(struct device *dev) ice->set_spdif_clock(ice, 0); } else { /* internal on-card clock */ - snd_vt1724_set_pro_rate(ice, ice->pro_rate_default, 1); + int rate; + if (ice->cur_rate) + rate = ice->cur_rate; + else + rate = ice->pro_rate_default; + snd_vt1724_set_pro_rate(ice, rate, 1); }
update_spdif_bits(ice, ice->pm_saved_spdif_ctrl);