Merge tag 'livepatching-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / gpu / drm / drm_dp_mst_topology.c
index b11c052..309afe6 100644 (file)
@@ -2302,7 +2302,8 @@ drm_dp_mst_port_add_connector(struct drm_dp_mst_branch *mstb,
        }
 
        if (port->pdt != DP_PEER_DEVICE_NONE &&
-           drm_dp_mst_is_end_device(port->pdt, port->mcs)) {
+           drm_dp_mst_is_end_device(port->pdt, port->mcs) &&
+           port->port_num >= DP_MST_LOGICAL_PORT_0) {
                port->cached_edid = drm_get_edid(port->connector,
                                                 &port->aux.ddc);
                drm_connector_set_tile_property(port->connector);
@@ -2751,7 +2752,7 @@ static void drm_dp_mst_link_probe_work(struct work_struct *work)
        drm_dp_mst_topology_put_mstb(mstb);
 
        mutex_unlock(&mgr->probe_lock);
-       if (ret)
+       if (ret > 0)
                drm_kms_helper_hotplug_event(dev);
 }
 
@@ -5837,8 +5838,7 @@ struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port)
        if (drm_dp_read_desc(port->mgr->aux, &desc, true))
                return NULL;
 
-       if (drm_dp_has_quirk(&desc, 0,
-                            DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) &&
+       if (drm_dp_has_quirk(&desc, DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD) &&
            port->mgr->dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14 &&
            port->parent == port->mgr->mst_primary) {
                u8 downstreamport;