[PATCH 03/10] drm/etnaviv: rework error handling
Christian Gmeiner
christian.gmeiner at gmail.com
Fri Dec 9 11:21:24 UTC 2016
Prep work for following changes.
Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
---
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index b1254f8..09aa67a 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -1122,22 +1122,25 @@ struct etnaviv_cmdbuf *etnaviv_gpu_cmdbuf_new(struct etnaviv_gpu *gpu, u32 size,
cmdbuf = kzalloc(sz, GFP_KERNEL);
if (!cmdbuf)
- return NULL;
+ goto fail;
if (gpu->mmu->version == ETNAVIV_IOMMU_V2)
size = ALIGN(size, SZ_4K);
cmdbuf->vaddr = dma_alloc_wc(gpu->dev, size, &cmdbuf->paddr,
GFP_KERNEL);
- if (!cmdbuf->vaddr) {
- kfree(cmdbuf);
- return NULL;
- }
+ if (!cmdbuf->vaddr)
+ goto fail;
cmdbuf->gpu = gpu;
cmdbuf->size = size;
return cmdbuf;
+
+fail:
+ kfree(cmdbuf);
+
+ return NULL;
}
void etnaviv_gpu_cmdbuf_free(struct etnaviv_cmdbuf *cmdbuf)
--
2.9.3
More information about the dri-devel
mailing list