[PATCH v2] ALSA: hda/hdmi: fix silent stream for first playback to DP

Jan Alexander Steffens (heftig) heftig at archlinux.org
Fri Jan 1 06:15:42 CET 2021


On Thu, 2020-12-10 at 19:44 +0200, Kai Vehmanen wrote:
> +static void silent_stream_disable(struct hda_codec *codec,
> +                                 struct hdmi_spec_per_pin *per_pin)
> +{
> +       struct hdmi_spec *spec = codec->spec;
> +       struct hdmi_spec_per_cvt *per_cvt;
> +       int cvt_idx;
> +
> +       mutex_lock(&per_pin->lock);
> +       if (!per_pin->silent_stream)
> +               goto unlock_out;
> +
> +       codec_dbg(codec, "HDMI: disable silent stream on pin-NID=0x%x
> cvt-NID=0x%x\n",
> +                 per_pin->pin_nid, per_pin->cvt_nid);
> +
> +       cvt_idx = cvt_nid_to_cvt_index(codec, per_pin->cvt_nid);
> +       if (cvt_idx >= 0 && cvt_idx < spec->num_cvts) {
> +               per_cvt = get_cvt(spec, cvt_idx);
> +               per_cvt->assigned = 0;
> +       }
> +
> +       per_pin->cvt_nid = 0;
> +       per_pin->silent_stream = false;
> +
> + unlock_out:
> +       mutex_unlock(&spec->pcm_lock);

Shouldn't this be `mutex_unlock(&per_pin->lock);`?

I'm experiencing deadlocks since 5.10.4, which backported this patch.





More information about the Alsa-devel mailing list