diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-01-14 10:30:46 +0100 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2011-09-26 14:50:32 -0700 |
commit | 2fef30499bee214825cceece9b7a9dba3751fba5 (patch) | |
tree | 2690ec8f046662d6ecb6602cee36addf4271c699 | |
parent | 944d343216efbc12ba78b4bbb8b52601847b6725 (diff) |
ALSA: hda - Store PCM parameters properly in HDMI open callback
In hdmi_pcm_open(), the evaluated PCM hw parameters are stored in
hinfo, but these aren't properly set back to the current runtime
record since these have been set beforehand in azx_pcm_open().
This patch fixes the behavior.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
(cherry picked from commit 639cef0eb6df05d5516520aa89b0c9fe62ee2d3b)
Bug 879658
Change-Id: I63abb615bc5cc087efc6c391e3cb528058c04cc0
Reviewed-on: http://git-master/r/54280
Tested-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-by: Scott Peterson <speterson@nvidia.com>
-rw-r--r-- | sound/pci/hda/patch_hdmi.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index 4ab7c5c80838..50c03595ad88 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c @@ -757,6 +757,7 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo, struct hdmi_spec *spec = codec->spec; struct hdmi_eld *eld; struct hda_pcm_stream *codec_pars; + struct snd_pcm_runtime *runtime = substream->runtime; unsigned int idx; for (idx = 0; idx < spec->num_cvts; idx++) @@ -784,6 +785,11 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo, hinfo->formats = codec_pars->formats; hinfo->maxbps = codec_pars->maxbps; } + /* store the updated parameters */ + runtime->hw.channels_min = hinfo->channels_min; + runtime->hw.channels_max = hinfo->channels_max; + runtime->hw.formats = hinfo->formats; + runtime->hw.rates = hinfo->rates; return 0; } |