summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.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/platform_gk20a_tegra.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/platform_gk20a_tegra.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
index 0d5f32dd..313962a1 100644
--- a/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
+++ b/drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c
@@ -78,10 +78,17 @@ static int gk20a_tegra_secure_page_alloc(struct platform_device *pdev)
78static void gk20a_tegra_secure_destroy(struct platform_device *pdev, 78static void gk20a_tegra_secure_destroy(struct platform_device *pdev,
79 struct gr_ctx_buffer_desc *desc) 79 struct gr_ctx_buffer_desc *desc)
80{ 80{
81 gk20a_free_sgtable(&desc->sgt); 81 if (desc->sgt) {
82 dma_free_attrs(&tegra_vpr_dev, desc->size, 82 gk20a_free_sgtable(&desc->sgt);
83 desc->sgt = NULL;
84 }
85
86 if (desc->iova) {
87 dma_free_attrs(&tegra_vpr_dev, desc->size,
83 (void *)(uintptr_t)desc->iova, 88 (void *)(uintptr_t)desc->iova,
84 desc->iova, &desc->attrs); 89 desc->iova, &desc->attrs);
90 desc->iova = 0;
91 }
85} 92}
86 93
87static int gk20a_tegra_secure_alloc(struct platform_device *pdev, 94static int gk20a_tegra_secure_alloc(struct platform_device *pdev,