drm_dp_mst_topology_mgr_resume() fails if there are dpcd failures, so
there's no need to try that again in _check_mst_status()

Signed-off-by: Dhinakaran Pandiyan <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 98e7b96ca826..b3d95cb7546b 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -6224,12 +6224,16 @@ void intel_dp_mst_resume(struct drm_device *dev)
        for (i = 0; i < I915_MAX_PORTS; i++) {
                struct intel_digital_port *intel_dig_port = 
dev_priv->hotplug.irq_port[i];
                int ret;
+               struct intel_dp *intel_dp = &intel_dig_port->dp;
 
-               if (!intel_dig_port || !intel_dig_port->dp.can_mst)
+               if (!intel_dig_port || !intel_dp->can_mst)
                        continue;
 
-               ret = 
drm_dp_mst_topology_mgr_resume(&intel_dig_port->dp.mst_mgr);
-               if (ret)
-                       intel_dp_check_mst_status(&intel_dig_port->dp);
+               ret = drm_dp_mst_topology_mgr_resume(&intel_dp->mst_mgr);
+               if (ret) {
+                       intel_dp->is_mst = false;
+                       drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst_mgr, 
intel_dp->is_mst);
+                       drm_kms_helper_hotplug_event(dev);
+               }
        }
 }
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to