[PATCH 4/4] drm/dp/mst: Check peer device type before attempting EDID read
Ville Syrjälä
ville.syrjala at linux.intel.com
Wed Oct 26 18:45:56 UTC 2016
On Wed, Oct 26, 2016 at 11:31:55AM -0700, Carlos Santa wrote:
> On Wed, 2016-10-26 at 02:05 -0700, ville.syrjala at linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > Only certain types of pdts have the DDC bus registered, so check for
> > that before we attempt the EDID read. Othwewise we risk playing
>
> typo above
>
> > around
> > with an i2c adapter that doesn't actually exist.
> >
>
> Would it be worth pasting the stack trace of the crash??
Can't hurt.
>
> Carlos
>
>
> > Cc: stable at vger.kernel.org
> > Cc: Carlos Santa <carlos.santa at intel.com>
> > Cc: Kirill A. Shutemov <kirill at shutemov.name>
> > Tested-by: Carlos Santa <carlos.santa at intel.com>
> > Tested-by: Kirill A. Shutemov <kirill at shutemov.name>
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97666
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> > drivers/gpu/drm/drm_dp_mst_topology.c | 4 +++-
> > 1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c
> > b/drivers/gpu/drm/drm_dp_mst_topology.c
> > index 956babc161e5..690d1b407a90 100644
> > --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> > @@ -1162,7 +1162,9 @@ static void drm_dp_add_port(struct
> > drm_dp_mst_branch *mstb,
> > drm_dp_put_port(port);
> > goto out;
> > }
> > - if (port->port_num >= DP_MST_LOGICAL_PORT_0) {
> > + if ((port->pdt == DP_PEER_DEVICE_DP_LEGACY_CONV ||
> > + port->pdt == DP_PEER_DEVICE_SST_SINK) &&
> > + port->port_num >= DP_MST_LOGICAL_PORT_0) {
> > port->cached_edid = drm_get_edid(port-
> > >connector, &port->aux.ddc);
> > drm_mode_connector_set_tile_property(port-
> > >connector);
> > }
> > --
> > 2.7.4
> >
--
Ville Syrjälä
Intel OTC
More information about the dri-devel
mailing list