diff options
author | Julien Isorce <jisorce@oblong.com> | 2017-03-15 17:40:25 +0000 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2017-04-12 13:30:22 +0100 |
commit | a6114f0c4e619a1192062dc8dce91a67032faeb1 (patch) | |
tree | bf3fc44a4523f4d0d832a0c8d279fa1bfaabb367 /src | |
parent | 0f51d37f733f8b6ecbe444fbf2536cd403d3f285 (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.c | 9 |
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); |