On 27/03/2024 12:32, Mohammad Rafi Shaik wrote:
> +
> +static int qcm6490_snd_hw_free(struct snd_pcm_substream *substream)
> +{
> + struct snd_soc_pcm_runtime *rtd = substream->private_data;
> + struct qcm6490_snd_data *data = snd_soc_card_get_drvdata(rtd->card);
> + struct snd_soc_dai *cpu_dai = snd_soc_rtd_to_cpu(rtd, 0);
> + struct sdw_stream_runtime *sruntime = data->sruntime[cpu_dai->id];
> +
> + return qcom_snd_sdw_hw_free(substream, sruntime,
> + &data->stream_prepared[cpu_dai->id]);
> +}
> +
> +static const struct snd_soc_ops qcm6490_be_ops = {
> + .hw_params = qcm6490_snd_hw_params,
> + .hw_free = qcm6490_snd_hw_free,
> + .prepare = qcm6490_snd_prepare,
> +};
I think you leak sdw_stream, because of missing shutdown.
Except that everything looks like sc8280xp, except the snd_init(), so I
wonder how important that difference is? Cannot be combined into sc8280xp?
Best regards,
Krzysztof
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]