summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/vc4/vc4_bufmgr.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2014-09-25 16:38:38 -0700
committerEric Anholt <eric@anholt.net>2014-09-25 16:41:25 -0700
commitdb11eb92cfb5a9e7bd1a65a6bd693eaf15e4269a (patch)
tree66d0f6eed6b83a52baa74d867b08b0bc9242856d /src/gallium/drivers/vc4/vc4_bufmgr.c
parent45962fbeee6ef0011e63613fe25c14e7062d3e43 (diff)
vc4: Switch from errx() to fprintf() and abort().
These are pretty catastrophic, "should never happen" failure paths (though 4 tests in piglit hit them currently, due to a single bug). An abort() that you can gdb on easily is probably more useful than a clean exit, particularly since a bug in piglit framework right now is causing early exit(1)s to simply not be recorded in the results at all.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_bufmgr.c')
-rw-r--r--src/gallium/drivers/vc4/vc4_bufmgr.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/gallium/drivers/vc4/vc4_bufmgr.c b/src/gallium/drivers/vc4/vc4_bufmgr.c
index 7664d860995..33592e84527 100644
--- a/src/gallium/drivers/vc4/vc4_bufmgr.c
+++ b/src/gallium/drivers/vc4/vc4_bufmgr.c
@@ -52,8 +52,10 @@ vc4_bo_alloc(struct vc4_screen *screen, uint32_t size, const char *name)
create.height = (size + 127) / 128;
int ret = drmIoctl(screen->fd, DRM_IOCTL_MODE_CREATE_DUMB, &create);
- if (ret != 0)
- errx(1, "create ioctl");
+ if (ret != 0) {
+ fprintf(stderr, "create ioctl failure\n");
+ abort();
+ }
bo->handle = create.handle;
assert(create.size >= size);
@@ -162,14 +164,17 @@ vc4_bo_map(struct vc4_bo *bo)
memset(&map, 0, sizeof(map));
map.handle = bo->handle;
ret = drmIoctl(bo->screen->fd, DRM_IOCTL_MODE_MAP_DUMB, &map);
- if (ret != 0)
- errx(1, "map ioctl");
+ if (ret != 0) {
+ fprintf(stderr, "map ioctl failure\n");
+ abort();
+ }
bo->map = mmap(NULL, bo->size, PROT_READ | PROT_WRITE, MAP_SHARED,
bo->screen->fd, map.offset);
if (bo->map == MAP_FAILED) {
- errx(1, "mmap of bo %d (offset 0x%016llx, size %d) failed\n",
- bo->handle, (long long)map.offset, bo->size);
+ fprintf(stderr, "mmap of bo %d (offset 0x%016llx, size %d) failed\n",
+ bo->handle, (long long)map.offset, bo->size);
+ abort();
}
return bo->map;