On Wed, Feb 22, 2017 at 08:34:28AM +0200, Ander Conselvan de Oliveira wrote: > Don't allow conversion from arbitraty encoder types to a digital port. > Calling enc_to_dig_port() with the wrong encoder may seem far fetched, > but certain paths of the ddi code may be called with hasell's analog > encoder and the conversion is wrong for DP mst encoders too, so safe > guard against it. > > Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_drv.h | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h > index a3cf866..2011651 100644 > --- a/drivers/gpu/drm/i915/intel_drv.h > +++ b/drivers/gpu/drm/i915/intel_drv.h > @@ -1121,7 +1121,18 @@ intel_attached_encoder(struct drm_connector *connector) > static inline struct intel_digital_port * > enc_to_dig_port(struct drm_encoder *encoder) > { > - return container_of(encoder, struct intel_digital_port, base.base); > + struct intel_encoder *intel_encoder = to_intel_encoder(encoder); > + > + switch (intel_encoder->type) { > + case INTEL_OUTPUT_DP: > + case INTEL_OUTPUT_EDP: > + case INTEL_OUTPUT_HDMI: > + case INTEL_OUTPUT_UNKNOWN: Nitpick: for UNKNOWN could've added a WARN_ON(!DDI) check. Either way: Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> > + return container_of(encoder, struct intel_digital_port, > + base.base); > + default: > + return NULL; > + } > } > > static inline struct intel_dp_mst_encoder * > -- > 2.9.3 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx