Each time we handle the long pulse, we check for the test request interrupt and populate the compliance data in the intel_dp structure. So the previously populated data becomes stale. Hence we need to clear the compliance data during each long pulse handling. Not clearing the compliance test data for each long pulse causes compliance failures since each test starts with a new long pulse and re populates the compliance test data. Signed-off-by: Manasi Navare <manasi.d.navare@xxxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/intel_dp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 2dc87a5..8a21181 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4646,9 +4646,11 @@ intel_dp_long_pulse(struct intel_connector *intel_connector) else status = connector_status_disconnected; + /* In either case, clear the stale compliance test data since this + * is a new long pulse handling, could be a new test request. + */ + memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance)); if (status == connector_status_disconnected) { - memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance)); - if (intel_dp->is_mst) { DRM_DEBUG_KMS("MST device may have disappeared %d vs %d\n", intel_dp->is_mst, -- 2.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx