summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c
diff options
context:
space:
mode:
authorRichard Zhao <rizhao@nvidia.com>2016-03-18 18:02:37 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-04-11 18:38:42 -0400
commitc8c376b22a6805178415a78f723df32bce177ef0 (patch)
tree1bdf7d1e4cdaf85a0d8cd051b004a7699562dd61 /drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c
parent60b715e85600a6be283e54c610c2a3db3b552059 (diff)
gpu: nvgpu: vgpu: fix error handling for mempool reserve failure
Bug 1648908 Bug 200183294 Change-Id: Iccf5eb762a544e423050d223bfcb6f8a53af6350 Signed-off-by: Richard Zhao <rizhao@nvidia.com> Reviewed-on: http://git-master/r/1113040 Reviewed-on: http://git-master/r/1121262 Reviewed-by: Aingara Paramakuru <aparamakuru@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/fecs_trace_vgpu.c7
1 files changed, 6 insertions, 1 deletions
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)
62 } 62 }
63 63
64 vcst->buf = ioremap_cache(vcst->cookie->ipa, vcst->cookie->size); 64 vcst->buf = ioremap_cache(vcst->cookie->ipa, vcst->cookie->size);
65 if (!vcst->buf) {
66 dev_info(dev_from_gk20a(g), "ioremap_cache failed\n");
67 err = -EINVAL;
68 goto fail;
69 }
65 vcst->header = vcst->buf; 70 vcst->header = vcst->buf;
66 vcst->num_entries = vcst->header->num_ents; 71 vcst->num_entries = vcst->header->num_ents;
67 if (unlikely(vcst->header->ent_size != sizeof(*vcst->entries))) { 72 if (unlikely(vcst->header->ent_size != sizeof(*vcst->entries))) {
@@ -75,7 +80,7 @@ static int vgpu_fecs_trace_init(struct gk20a *g)
75 return 0; 80 return 0;
76fail: 81fail:
77 iounmap(vcst->buf); 82 iounmap(vcst->buf);
78 if (vcst->cookie) 83 if (!IS_ERR(vcst->cookie))
79 tegra_hv_mempool_unreserve(vcst->cookie); 84 tegra_hv_mempool_unreserve(vcst->cookie);
80 kfree(vcst); 85 kfree(vcst);
81 return err; 86 return err;