diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-02-26 15:45:08 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:09:23 -0400 |
commit | 0ff7f65382d84f74902a8d2ead0ac3fac3ddad78 (patch) | |
tree | 097b04721d4a1e083e380a698d9fc2628db09623 /drivers/gpu/nvgpu/gk20a/platform_gk20a_tegra.c | |
parent | b722abe82241536bbd696250e0a89b79aab96924 (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.c | 11 |
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) | |||
78 | static void gk20a_tegra_secure_destroy(struct platform_device *pdev, | 78 | static 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 | ||
87 | static int gk20a_tegra_secure_alloc(struct platform_device *pdev, | 94 | static int gk20a_tegra_secure_alloc(struct platform_device *pdev, |