Message ID | 20201126073722.19107-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-04 at 14:32:16 +0530, Ramalingam C wrote: > On 2020-11-26 at 13:07:08 +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. > > This patch is to reject the HDCP request on MST connector without > encoder initialized(modeset). But userspace are not supposed to request hdcp at such > scenario right?. AFAIU user space doesn't know about DP MST topology until unless it parse PATH property. This crash oberved on chrome OS with DP MST dock. From driver POV it should avoid kernel crash in such cases. Thanks, Anshuman Gupta. > > Ram > > > Don't enable HDCP in such cases to prevent any crash. > > > > Cc: Ramalingam C <ramalingam.c@intel.com> > > Cc: Juston Li <juston.li@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 > >
On 2020-11-26 at 13:07:08 +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. This patch is to reject the HDCP request on MST connector without encoder initialized(modeset). But userspace are not supposed to request hdcp at such scenario right?. Ram > Don't enable HDCP in such cases to prevent any crash. > > Cc: Ramalingam C <ramalingam.c@intel.com> > Cc: Juston Li <juston.li@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,
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 <ramalingam.c@intel.com> Cc: Juston Li <juston.li@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(+)