[igt-dev] [PATCH i-g-t] tests/i915/kms_big_fb: Move intel_ibb_destroy out of test_cleanup
Karthik B S
karthik.b.s at intel.com
Thu Jun 16 08:55:45 UTC 2022
On 6/13/2022 2:28 PM, Zbigniew Kempczyński wrote:
> On Mon, Jun 13, 2022 at 11:54:47AM +0530, Karthik B S wrote:
>> All the clean up functions were moved to fixture in patch "2aff4179".
>> But this causes an assert in intel_bb_destory() after the test passes,
>> on configurations having eDP connected.
>>
>> So moving the intel_bb_destroy() call back to the original function.
> Yes, calling intel_bb_destroy() in fixture is problematic. When test completes
> we clean the allocator and initialize it from scratch for next test.
>
> With intel-bb and softpin during intel_bb_create() we open allocator (get ahnd)
> which is not valid after test completes. So intel_bb_destroy() in fixture
> will try to free all offsets for attached intel_bufs. Unfortunately allocator
> was already reinitialized and there's no ahnd in it.
Thank you for the details. I was wondering how exactly this was breaking
the test.
>
> Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Thanks for the ack.
Thanks,
Karthik.B.S
>
> --
> Zbigniew
>
>> Fixes: 2aff41793e5f ("tests/i915/kms_big_fb: Move cleanup code to fixture")
>>
>> Signed-off-by: Karthik B S <karthik.b.s at intel.com>
>> ---
>> tests/i915/kms_big_fb.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/tests/i915/kms_big_fb.c b/tests/i915/kms_big_fb.c
>> index abf974bb..d50fde45 100644
>> --- a/tests/i915/kms_big_fb.c
>> +++ b/tests/i915/kms_big_fb.c
>> @@ -457,6 +457,8 @@ static bool test_pipe(data_t *data)
>> if (data->format == DRM_FORMAT_C8)
>> unset_lut(data);
>>
>> + intel_bb_destroy(data->ibb);
>> +
>> return ret;
>> }
>>
>> @@ -549,6 +551,8 @@ max_hw_stride_async_flip_test(data_t *data)
>> }
>> igt_reset_timeout();
>>
>> + intel_bb_destroy(data->ibb);
>> +
>> return true;
>> }
>>
>> @@ -763,7 +767,6 @@ static void test_cleanup(data_t *data)
>> igt_remove_fb(data->drm_fd, &data->big_fb_flip[1]);
>> igt_remove_fb(data->drm_fd, &data->small_fb);
>>
>> - intel_bb_destroy(data->ibb);
>> data->output = NULL;
>> }
>>
>> --
>> 2.22.0
>>
More information about the igt-dev
mailing list