[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