Re: [PATCH i-g-t v2 08/11] lib/kunit: Provide all results cleanup helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Janusz,
On 2023-10-09 at 14:27:59 +0200, Janusz Krzysztofik wrote:
> Planned changes require a couple of loops around kunit_result_free().
> Since we already have such loop, move it into a helper in preparation for
> future uses.
> 
> Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@xxxxxxxxxxxxxxx>

Reviewed-by: Kamil Konieczny <kamil.konieczny@xxxxxxxxxxxxxxx>

> ---
>  lib/igt_kmod.c | 20 ++++++++++++++------
>  1 file changed, 14 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c
> index 387efbb59f..fed0855c84 100644
> --- a/lib/igt_kmod.c
> +++ b/lib/igt_kmod.c
> @@ -885,13 +885,25 @@ static void kunit_result_free(struct igt_ktap_result **r,
>  	*r = NULL;
>  }
>  
> +static void kunit_results_free(struct igt_list_head *results,
> +			       char **suite_name, char **case_name)
> +{
> +	struct igt_ktap_result *r, *rn;
> +
> +	igt_list_for_each_entry_safe(r, rn, results, link)
> +		kunit_result_free(&r, suite_name, case_name);
> +
> +	free(*case_name);
> +	free(*suite_name);
> +}
> +
>  static void
>  __igt_kunit(struct igt_ktest *tst, const char *name, const char *opts)
>  {
>  	struct modprobe_data modprobe = { pthread_self(), tst->kmod, opts, 0, };
>  	char *suite_name = NULL, *case_name = NULL;
> -	struct igt_ktap_result *r, *rn;
>  	struct igt_ktap_results *ktap;
> +	struct igt_ktap_result *r;
>  	pthread_mutexattr_t attr;
>  	IGT_LIST_HEAD(results);
>  	unsigned long taints;
> @@ -997,11 +1009,7 @@ __igt_kunit(struct igt_ktest *tst, const char *name, const char *opts)
>  
>  	} while (ret == -EINPROGRESS);
>  
> -	igt_list_for_each_entry_safe(r, rn, &results, link)
> -		kunit_result_free(&r, &suite_name, &case_name);
> -
> -	free(case_name);
> -	free(suite_name);
> +	kunit_results_free(&results, &suite_name, &case_name);
>  
>  	switch (pthread_mutex_lock(&modprobe.lock)) {
>  	case 0:
> -- 
> 2.42.0
> 



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux