summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulien Isorce <jisorce@oblong.com>2017-03-15 17:40:25 +0000
committerEmil Velikov <emil.l.velikov@gmail.com>2017-04-12 13:30:22 +0100
commita6114f0c4e619a1192062dc8dce91a67032faeb1 (patch)
treebf3fc44a4523f4d0d832a0c8d279fa1bfaabb367 /src
parent0f51d37f733f8b6ecbe444fbf2536cd403d3f285 (diff)
radeon_drm_bo: explicitly check return value of drmCommandWriteRead
CID 1313492 Signed-off-by: Julien Isorce <jisorce@oblong.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 521860b2a92bab6394546e6af8709c07e2292033) Nominated-by: Emil Velikov <emil.velikov@collabora.com>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/winsys/radeon/drm/radeon_drm_bo.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
index cefb51fa371..6c6b7901771 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
@@ -186,8 +186,13 @@ static enum radeon_bo_domain radeon_bo_get_initial_domain(
args.handle = bo->handle;
args.op = RADEON_GEM_OP_GET_INITIAL_DOMAIN;
- drmCommandWriteRead(bo->rws->fd, DRM_RADEON_GEM_OP,
- &args, sizeof(args));
+ if (drmCommandWriteRead(bo->rws->fd, DRM_RADEON_GEM_OP,
+ &args, sizeof(args))) {
+ fprintf(stderr, "radeon: failed to get initial domain: %p 0x%08X\n",
+ bo, bo->handle);
+ /* Default domain as returned by get_valid_domain. */
+ return RADEON_DOMAIN_VRAM_GTT;
+ }
/* GEM domains and winsys domains are defined the same. */
return get_valid_domain(args.value);