drm/i915/hdcp: fix connector refcounting
authorJani Nikula <jani.nikula@intel.com>
Tue, 24 Sep 2024 15:30:22 +0000 (18:30 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 2 Oct 2024 18:26:28 +0000 (21:26 +0300)
commitabc0742c79bdb3b164eacab24aea0916d2ec1cb5
tree70e4bf7ceb09febca7d77f6fe1976b26c4e30543
parent09b003ad1dd6a4bf1b364e8f03cba87b2de38d21
drm/i915/hdcp: fix connector refcounting

We acquire a connector reference before scheduling an HDCP prop work,
and expect the work function to release the reference.

However, if the work was already queued, it won't be queued multiple
times, and the reference is not dropped.

Release the reference immediately if the work was already queued.

Fixes: a6597faa2d59 ("drm/i915: Protect workers against disappearing connectors")
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: stable@vger.kernel.org # v5.10+
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924153022.2255299-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_hdcp.c