summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-02-26 15:45:08 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-04-04 21:09:23 -0400
commit0ff7f65382d84f74902a8d2ead0ac3fac3ddad78 (patch)
tree097b04721d4a1e083e380a698d9fc2628db09623 /drivers/gpu/nvgpu/gk20a/gr_gk20a.c
parentb722abe82241536bbd696250e0a89b79aab96924 (diff)
gpu: nvgpu: Fix some GPU boot error paths
Fix panics in error path when FECS cannot be booted. Change-Id: I354e37579386e27f46b80cd4172fe12897a3b92f Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/712698
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 9ed4febb..f632245e 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -2235,10 +2235,15 @@ static void gk20a_gr_destroy_ctx_buffer(struct platform_device *pdev,
2235 struct device *dev = &pdev->dev; 2235 struct device *dev = &pdev->dev;
2236 if (!desc) 2236 if (!desc)
2237 return; 2237 return;
2238 if (desc->sgt) 2238 if (desc->sgt) {
2239 gk20a_free_sgtable(&desc->sgt); 2239 gk20a_free_sgtable(&desc->sgt);
2240 dma_free_attrs(dev, desc->size, desc->pages, 2240 desc->sgt = NULL;
2241 }
2242 if (desc->pages) {
2243 dma_free_attrs(dev, desc->size, desc->pages,
2241 desc->iova, &desc->attrs); 2244 desc->iova, &desc->attrs);
2245 desc->pages = NULL;
2246 }
2242} 2247}
2243 2248
2244static int gk20a_gr_alloc_ctx_buffer(struct platform_device *pdev, 2249static int gk20a_gr_alloc_ctx_buffer(struct platform_device *pdev,
@@ -4510,7 +4515,7 @@ out:
4510 else 4515 else
4511 gk20a_dbg_fn("done"); 4516 gk20a_dbg_fn("done");
4512 4517
4513 return 0; 4518 return err;
4514} 4519}
4515 4520
4516static int gk20a_init_gr_reset_enable_hw(struct gk20a *g) 4521static int gk20a_init_gr_reset_enable_hw(struct gk20a *g)