ASoC: One more fix for v6.2 One more fix from Peter which he'd very much like to get into v6.2.
Unified · Split
| @@ -216,6 +216,10 @@ static int hda_link_dma_hw_params(struct snd_pcm_substream *substream, · 215 unmodified lines | ||
| 216 | 216 | sdev = snd_soc_component_get_drvdata(cpu_dai->component); |
| 217 | 217 | bus = sof_to_bus(sdev); |
| 218 | 218 | |
| 219 | + hlink = snd_hdac_ext_bus_get_hlink_by_name(bus, codec_dai->component->name); | |
| 220 | + if (!hlink) | |
| 221 | + return -EINVAL; | |
| 222 | + | |
| 219 | 223 | hext_stream = snd_soc_dai_get_dma_data(cpu_dai, substream); |
| 220 | 224 | if (!hext_stream) { |
| 221 | 225 | hext_stream = hda_link_stream_assign(bus, substream); |
| @@ -225,10 +229,6 @@ static int hda_link_dma_hw_params(struct snd_pcm_substream *substream, · 3 unmodified lines | ||
| 225 | 229 | snd_soc_dai_set_dma_data(cpu_dai, substream, (void *)hext_stream); |
| 226 | 230 | } |
| 227 | 231 | |
| 228 | − hlink = snd_hdac_ext_bus_get_hlink_by_name(bus, codec_dai->component->name); | |
| 229 | − if (!hlink) | |
| 230 | − return -EINVAL; | |
| 231 | − | |
| 232 | 232 | /* set the hdac_stream in the codec dai */ |
| 233 | 233 | snd_soc_dai_set_stream(codec_dai, hdac_stream(hext_stream), substream->stream); |
| 234 | 234 | |