diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-01-14 04:30:46 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-01-14 04:30:46 -0500 |
commit | 639cef0eb6df05d5516520aa89b0c9fe62ee2d3b (patch) | |
tree | d0d902b1b75a58d0b1c0bf6cab83bf9118735133 /sound | |
parent | 361fe6e90888af83d5bfdfc152d737018cbede43 (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>
Diffstat (limited to 'sound')
-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 2d288793ceb3..5980552f5970 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c | |||
@@ -817,6 +817,7 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo, | |||
817 | struct hdmi_spec *spec = codec->spec; | 817 | struct hdmi_spec *spec = codec->spec; |
818 | struct hdmi_eld *eld; | 818 | struct hdmi_eld *eld; |
819 | struct hda_pcm_stream *codec_pars; | 819 | struct hda_pcm_stream *codec_pars; |
820 | struct snd_pcm_runtime *runtime = substream->runtime; | ||
820 | unsigned int idx; | 821 | unsigned int idx; |
821 | 822 | ||
822 | for (idx = 0; idx < spec->num_cvts; idx++) | 823 | for (idx = 0; idx < spec->num_cvts; idx++) |
@@ -844,6 +845,11 @@ static int hdmi_pcm_open(struct hda_pcm_stream *hinfo, | |||
844 | hinfo->formats = codec_pars->formats; | 845 | hinfo->formats = codec_pars->formats; |
845 | hinfo->maxbps = codec_pars->maxbps; | 846 | hinfo->maxbps = codec_pars->maxbps; |
846 | } | 847 | } |
848 | /* store the updated parameters */ | ||
849 | runtime->hw.channels_min = hinfo->channels_min; | ||
850 | runtime->hw.channels_max = hinfo->channels_max; | ||
851 | runtime->hw.formats = hinfo->formats; | ||
852 | runtime->hw.rates = hinfo->rates; | ||
847 | return 0; | 853 | return 0; |
848 | } | 854 | } |
849 | 855 | ||