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
This commit is contained in:
Terje Bergstrom
2015-02-26 12:45:08 -08:00
committed by Dan Willemsen
parent b722abe822
commit 0ff7f65382
2 changed files with 17 additions and 5 deletions

View File

@@ -2235,10 +2235,15 @@ static void gk20a_gr_destroy_ctx_buffer(struct platform_device *pdev,
struct device *dev = &pdev->dev;
if (!desc)
return;
if (desc->sgt)
if (desc->sgt) {
gk20a_free_sgtable(&desc->sgt);
dma_free_attrs(dev, desc->size, desc->pages,
desc->sgt = NULL;
}
if (desc->pages) {
dma_free_attrs(dev, desc->size, desc->pages,
desc->iova, &desc->attrs);
desc->pages = NULL;
}
}
static int gk20a_gr_alloc_ctx_buffer(struct platform_device *pdev,
@@ -4510,7 +4515,7 @@ out:
else
gk20a_dbg_fn("done");
return 0;
return err;
}
static int gk20a_init_gr_reset_enable_hw(struct gk20a *g)

View File

@@ -78,10 +78,17 @@ static int gk20a_tegra_secure_page_alloc(struct platform_device *pdev)
static void gk20a_tegra_secure_destroy(struct platform_device *pdev,
struct gr_ctx_buffer_desc *desc)
{
gk20a_free_sgtable(&desc->sgt);
dma_free_attrs(&tegra_vpr_dev, desc->size,
if (desc->sgt) {
gk20a_free_sgtable(&desc->sgt);
desc->sgt = NULL;
}
if (desc->iova) {
dma_free_attrs(&tegra_vpr_dev, desc->size,
(void *)(uintptr_t)desc->iova,
desc->iova, &desc->attrs);
desc->iova = 0;
}
}
static int gk20a_tegra_secure_alloc(struct platform_device *pdev,