Message ID | 20201210062640.11783-5-anshuman.gupta@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | HDCP 2.2 and HDCP 1.4 Gen12 DP MST support | expand |
On 2020-12-10 at 11:56:26 +0530, Anshuman Gupta wrote: > 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. LGTM.. Reviewed-by: Ramalingam C <ramalingam.c@intel.com> > > Cc: Ramalingam C <ramalingam.c@intel.com> > Cc: Juston Li <juston.li@intel.com> > Tested-by: Karthik B S <karthik.b.s@intel.com> > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com> > --- > drivers/gpu/drm/i915/display/intel_hdcp.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c > index b9d8825e2bb1..7d63e9495956 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, > -- > 2.26.2 >
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c index b9d8825e2bb1..7d63e9495956 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,