From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 4/4] drm/dp/mst: Check peer device type before attempting EDID read Date: Wed, 26 Oct 2016 21:45:56 +0300 Message-ID: <20161026184556.GT4617@intel.com> References: <1477472755-15288-1-git-send-email-ville.syrjala@linux.intel.com> <1477472755-15288-5-git-send-email-ville.syrjala@linux.intel.com> <1477506715.5667.1.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Return-path: Content-Disposition: inline In-Reply-To: <1477506715.5667.1.camel@intel.com> Sender: stable-owner@vger.kernel.org To: Carlos Santa Cc: "dri-devel@lists.freedesktop.org" , "stable@vger.kernel.org" , "Kirill A . Shutemov" List-Id: dri-devel@lists.freedesktop.org On Wed, Oct 26, 2016 at 11:31:55AM -0700, Carlos Santa wrote: > On Wed, 2016-10-26 at 02:05 -0700, ville.syrjala@linux.intel.com wrote: > > From: Ville Syrjälä > > > > 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@vger.kernel.org > > Cc: Carlos Santa > > Cc: Kirill A. Shutemov > > Tested-by: Carlos Santa > > Tested-by: Kirill A. Shutemov > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97666 > > Signed-off-by: Ville Syrjälä > > --- > >  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