drm/i915/hdcp: fix connector refcounting
authorJani Nikula <jani.nikula@intel.com>
Tue, 24 Sep 2024 15:30:22 +0000 (18:30 +0300)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 7 Oct 2024 03:18:46 +0000 (06:18 +0300)
commit4cc2718f621a6a57a02581125bb6d914ce74d23b
tree8d018a11ba001af4f396779e881e8f4bbf698926
parent8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b
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>
(cherry picked from commit abc0742c79bdb3b164eacab24aea0916d2ec1cb5)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/display/intel_hdcp.c