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.krzyszto...@linux.intel.com>

Reviewed-by: Kamil Konieczny <kamil.koniec...@linux.intel.com>

> ---
>  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
> 

Reply via email to