Re: [PATCH] drm/i915/kunit: DP Link: Use if statements instead of for loops

Michał Grzelak <[email protected]>
Newsgroups org.freedesktop.lists.intel-gfx
Message-ID <[email protected]>
On Tue, 28 Jul 2026, Jonathan Cavitt wrote:
> The static functions get_target_config and get_fallback_config in
> intel_dp_link_test.c use for loops to determine if the requested index of
> the config set is in the bounds of the config set entry list.
>
> Reconfigure these functions to use if statements instead, as these for
> loops are only run for a single iteration.
>
> Issue caught by static analysis.
>
> Signed-off-by: Jonathan Cavitt <[email protected]>
> Cc: Imre Deak <[email protected]>
> ---
> .../i915/display/tests/intel_dp_link_test.c   | 32 +++++++++----------
> 1 file changed, 15 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c b/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c
> index 67c6fe9f1812..89966d6a7e0e 100644
> --- a/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c
> +++ b/drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c
> @@ -1215,22 +1215,21 @@ static bool get_fallback_config(const struct test_config_table *expected_table,
> 	struct kunit *test = expected_table->test;
> 	const struct link_config_set *config_set =
> 		get_fallback_configs_for_output_type(test, output_type);
> +	const struct intel_dp_link_config *config;
> 	int i;
>
> 	i = lookup_config(config_set, target_config);
> 	KUNIT_ASSERT_GE(test, i, 0);
>
> -	for (i--; i >= 0; i--) {
> -		const struct intel_dp_link_config *config =
> -			&config_set->entries[i];
> +	if (i <= 0)

Since i is asserted to be >=0 I think this could be restricted to only i
== 0 case.

> +		return false;
>
> -		assert_config_is_supported(expected_table, config);
> -		*fallback_config = *config;
> +	config = &config_set->entries[i-1];
>

I'm wondering also if the blank line here is superfluous since it no
longer belongs to the declaration block.

> -		return true;
> -	}
> +	assert_config_is_supported(expected_table, config);
> +	*fallback_config = *config;
>
> -	return false;
> +	return true;
> }
>
> static bool get_target_config(const struct test_config_table *expected_table,
> @@ -1240,19 +1239,18 @@ static bool get_target_config(const struct test_config_table *expected_table,
> 	struct kunit *test = expected_table->test;
> 	const struct link_config_set *config_set =
> 		get_target_configs_for_output_type(test, output_type);
> -	int i;
> +	const struct intel_dp_link_config *config;
> +	int i = config_set->size - 1;
>
> -	for (i = config_set->size - 1; i >= 0; i--) {
> -		const struct intel_dp_link_config *config =
> -			&config_set->entries[i];
> +	if (i < 0)
> +		return false;
>
> -		assert_config_is_supported(expected_table, config);
> -		*target = *config;
> +	config = &config_set->entries[i];
>

same for blank line here.

BR,
MichaÂł

> -		return true;
> -	}
> +	assert_config_is_supported(expected_table, config);
> +	*target = *config;
>
> -	return false;
> +	return true;
> }
>
> static void test_fallback_seq(struct kunit *test,
> -- 
> 2.53.0
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.