From: Anshuman Gupta Date: Mon, 11 Jan 2021 08:11:05 +0000 (+0530) Subject: drm/i915/hdcp: No HDCP when encoder is't initialized X-Git-Tag: v5.15~303^2~29^2~556 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6c63e6e14da7f55114d7e9077e89dc9ab8adeebb;p=platform%2Fkernel%2Flinux-starfive.git drm/i915/hdcp: No HDCP when encoder is't initialized There can be situation when DP MST connector is created without mst modeset being done, in those cases connector->encoder will be NULL. MST connector->encoder initializes after modeset. Don't enable HDCP in such cases to prevent any crash. Cc: Ramalingam C Cc: Juston Li Tested-by: Karthik B S Reviewed-by: Ramalingam C Signed-off-by: Anshuman Gupta Link: https://patchwork.freedesktop.org/patch/msgid/20210111081120.28417-5-anshuman.gupta@intel.com --- diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index b9d8825..7d63e94 100644 --- a/drivers/gpu/drm/i915/display/intel_hdcp.c +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c @@ -2106,6 +2106,12 @@ int intel_hdcp_enable(struct intel_connector *connector, if (!hdcp->shim) return -ENOENT; + if (!connector->encoder) { + drm_err(&dev_priv->drm, "[%s:%d] encoder is not initialized\n", + connector->base.name, connector->base.base.id); + return -ENODEV; + } + mutex_lock(&hdcp->mutex); mutex_lock(&dig_port->hdcp_mutex); drm_WARN_ON(&dev_priv->drm,