]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/xe/display/xe_hdcp_gsc: Free arbiter on driver removal
authorNirmoy Das <nirmoy.das@intel.com>
Mon, 8 Jul 2024 12:59:18 +0000 (14:59 +0200)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 11 Jul 2024 15:25:32 +0000 (08:25 -0700)
Free arbiter allocated in intel_hdcp_gsc_init().

Fixes: 152f2df954d8 ("drm/xe/hdcp: Enable HDCP for XE")
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Cc: Arun R Murthy <arun.r.murthy@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240708125918.23573-1-nirmoy.das@intel.com
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
(cherry picked from commit 33891539f9d6f245e93a76e3fb5791338180374f)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c

index d46f87a039f2091bc0769e8eb7f19bd0c2bb7c51..b3d3c065dd9d8a80296ec7a53aa092ba5bff3fa9 100644 (file)
@@ -159,12 +159,16 @@ void intel_hdcp_gsc_fini(struct xe_device *xe)
 {
        struct intel_hdcp_gsc_message *hdcp_message =
                                        xe->display.hdcp.hdcp_message;
+       struct i915_hdcp_arbiter *arb = xe->display.hdcp.arbiter;
 
-       if (!hdcp_message)
-               return;
+       if (hdcp_message) {
+               xe_bo_unpin_map_no_vm(hdcp_message->hdcp_bo);
+               kfree(hdcp_message);
+               xe->display.hdcp.hdcp_message = NULL;
+       }
 
-       xe_bo_unpin_map_no_vm(hdcp_message->hdcp_bo);
-       kfree(hdcp_message);
+       kfree(arb);
+       xe->display.hdcp.arbiter = NULL;
 }
 
 static int xe_gsc_send_sync(struct xe_device *xe,