From f1d3d1f8c677b938362eee8b9f4e81f5463bc16a Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 9 Aug 2013 10:07:59 +0100 Subject: [PATCH] sna: Check for EINVAL after mmapping I want to catch this error as it happens to see which (stolen) bo is being erroneously mmapped. Signed-off-by: Chris Wilson --- src/sna/kgem.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/sna/kgem.c b/src/sna/kgem.c index a04b9549..fea7dcbf 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -335,6 +335,8 @@ retry_gtt: if (drmIoctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP_GTT, &mmap_arg)) { int err = errno; + assert(err != EINVAL); + (void)__kgem_throttle_retire(kgem, 0); if (kgem_expire_cache(kgem)) goto retry_gtt; @@ -355,6 +357,8 @@ retry_mmap: if (ptr == MAP_FAILED) { int err = errno; + assert(err != EINVAL); + if (__kgem_throttle_retire(kgem, 0)) goto retry_mmap; @@ -5056,6 +5060,8 @@ retry: if (drmIoctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg)) { int err = errno; + assert(err != EINVAL); + if (__kgem_throttle_retire(kgem, 0)) goto retry; @@ -5098,6 +5104,8 @@ retry: if (drmIoctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg)) { int err = errno; + assert(err != EINVAL); + if (__kgem_throttle_retire(kgem, 0)) goto retry;