Call intel_dp_link_caps_iter_end() after the link configuration loops. At the moment this call only clears the iteration object, so the lack of call didn't cause an actual issue.
Cc: Luca Coelho <[email protected]> Fixes: 7266df62ed0a7 ("drm/i915/dp: Iterate configurations via link_caps for SST non-DSC") Fixes: 4f104fc10a461 ("drm/i915/dp: Iterate configurations via link_caps for SST DSC") Signed-off-by: Imre Deak <[email protected]> --- drivers/gpu/drm/i915/display/intel_dp.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index 0922d23b284ca..0d2c696b9e4b0 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -1688,6 +1688,7 @@ intel_dp_compute_link_config_wide(struct intel_dp *intel_dp, struct intel_dp_link_caps *link_caps = intel_dp->link.caps; struct intel_dp_link_caps_order order = intel_dp_link_caps_connector_compute_order(connector); + int err = -EINVAL; int link_avail; for (bpp = fxp_q4_to_int(limits->link.max_bpp_x16); @@ -1718,12 +1719,18 @@ intel_dp_compute_link_config_wide(struct intel_dp *intel_dp, pipe_config->pipe_bpp = bpp; pipe_config->port_clock = link_config.rate; - return 0; + err = 0; + + break; } } + intel_dp_link_caps_iter_end(&iter); + + if (!err) + break; } - return -EINVAL; + return err; } int intel_dp_dsc_max_src_input_bpc(struct intel_display *display) @@ -1924,6 +1931,7 @@ static int dsc_compute_link_config(struct intel_dp *intel_dp, intel_dp_link_caps_connector_compute_order(connector); struct intel_dp_link_config link_config; struct intel_dp_link_caps_iter iter; + int err = -EINVAL; intel_dp_link_caps_iter_start(&iter, link_caps, order, limits->link_config_filter); for_each_dp_link_config(&iter, &link_config) { @@ -1966,10 +1974,13 @@ static int dsc_compute_link_config(struct intel_dp *intel_dp, continue; } - return 0; - } + err = 0; - return -EINVAL; + break; + } + intel_dp_link_caps_iter_end(&iter); + + return err; } static u16 intel_dp_dsc_max_delta_bppx16(const struct intel_connector *connector, -- 2.49.1
