diff options
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 486f6deb3eee..966f40147bc3 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -1706,13 +1706,16 @@ static int azx_pcm_prepare(struct snd_pcm_substream *substream) | |||
1706 | struct snd_pcm_runtime *runtime = substream->runtime; | 1706 | struct snd_pcm_runtime *runtime = substream->runtime; |
1707 | unsigned int bufsize, period_bytes, format_val, stream_tag; | 1707 | unsigned int bufsize, period_bytes, format_val, stream_tag; |
1708 | int err; | 1708 | int err; |
1709 | struct hda_spdif_out *spdif = | ||
1710 | snd_hda_spdif_out_of_nid(apcm->codec, hinfo->nid); | ||
1711 | unsigned short ctls = spdif ? spdif->ctls : 0; | ||
1709 | 1712 | ||
1710 | azx_stream_reset(chip, azx_dev); | 1713 | azx_stream_reset(chip, azx_dev); |
1711 | format_val = snd_hda_calc_stream_format(runtime->rate, | 1714 | format_val = snd_hda_calc_stream_format(runtime->rate, |
1712 | runtime->channels, | 1715 | runtime->channels, |
1713 | runtime->format, | 1716 | runtime->format, |
1714 | hinfo->maxbps, | 1717 | hinfo->maxbps, |
1715 | apcm->codec->spdif_ctls); | 1718 | ctls); |
1716 | if (!format_val) { | 1719 | if (!format_val) { |
1717 | snd_printk(KERN_ERR SFX | 1720 | snd_printk(KERN_ERR SFX |
1718 | "invalid format_val, rate=%d, ch=%d, format=%d\n", | 1721 | "invalid format_val, rate=%d, ch=%d, format=%d\n", |