On Fri, Jul 28, 2017 at 01:08:07PM +0100, Chris Wilson wrote:
> After triggering an error (such as trying to use userptr on a GTT
> mmaping), we store the EFAULT on the object permanently. So to test the
> error, we must sacrifice the object and recreate the userptr handle.
> We restrict the error to just one of the overlapping userptr handles to
> check the object independence.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100596
> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>

Reviewed-by: Michał Winiarski <michal.winiar...@intel.com>

-Michał

> ---
>  tests/gem_userptr_blits.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/gem_userptr_blits.c b/tests/gem_userptr_blits.c
> index 7767c0ca..849054ad 100644
> --- a/tests/gem_userptr_blits.c
> +++ b/tests/gem_userptr_blits.c
> @@ -681,12 +681,17 @@ static int test_map_fixed_invalidate(int fd, uint32_t 
> flags)
>               gem_set_tiling(fd, mmap_gtt.handle, I915_TILING_NONE, 0);
>               *map = 0xdead;
>  
> -             if (flags & MAP_FIXED_INVALIDATE_GET_PAGES)
> +             if (flags & MAP_FIXED_INVALIDATE_GET_PAGES) {
>                       igt_assert_eq(__gem_set_domain(fd, handle[0],
>                                                      I915_GEM_DOMAIN_GTT,
>                                                      I915_GEM_DOMAIN_GTT),
>                                     -EFAULT);
>  
> +                     /* Errors are permanent, so we have to recreate */
> +                     gem_close(fd, handle[0]);
> +                     handle[0] = create_userptr(fd, 0, ptr + 
> PAGE_SIZE/sizeof(*ptr));
> +             }
> +
>               gem_set_tiling(fd, mmap_gtt.handle, I915_TILING_Y, 512 * 4);
>               *(uint32_t*)map = 0xbeef;
>  
> -- 
> 2.13.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to