From c8c376b22a6805178415a78f723df32bce177ef0 Mon Sep 17 00:00:00 2001 From: Richard Zhao Date: Fri, 18 Mar 2016 15:02:37 -0700 Subject: gpu: nvgpu: vgpu: fix error handling for mempool reserve failure Bug 1648908 Bug 200183294 Change-Id: Iccf5eb762a544e423050d223bfcb6f8a53af6350 Signed-off-by: Richard Zhao Reviewed-on: http://git-master/r/1113040 Reviewed-on: http://git-master/r/1121262 Reviewed-by: Aingara Paramakuru GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c') diff --git a/drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c b/drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c index 568f3784..d19e5712 100644 --- a/drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c +++ b/drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c @@ -62,6 +62,11 @@ static int vgpu_fecs_trace_init(struct gk20a *g) } vcst->buf = ioremap_cache(vcst->cookie->ipa, vcst->cookie->size); + if (!vcst->buf) { + dev_info(dev_from_gk20a(g), "ioremap_cache failed\n"); + err = -EINVAL; + goto fail; + } vcst->header = vcst->buf; vcst->num_entries = vcst->header->num_ents; if (unlikely(vcst->header->ent_size != sizeof(*vcst->entries))) { @@ -75,7 +80,7 @@ static int vgpu_fecs_trace_init(struct gk20a *g) return 0; fail: iounmap(vcst->buf); - if (vcst->cookie) + if (!IS_ERR(vcst->cookie)) tegra_hv_mempool_unreserve(vcst->cookie); kfree(vcst); return err; -- cgit v1.2.2