diff options
author | Supriya <ssharatkumar@nvidia.com> | 2014-08-29 20:59:54 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:11:09 -0400 |
commit | 949c47cbbb1f7560945b515c23a35b76475e16bf (patch) | |
tree | 3d8cbeb7021fd7419daba7c9f4275994ef06fda0 /drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |
parent | 07c17aeacb25a7fad411ffa27e2e4b336c99df78 (diff) |
gpu: nvgpu: Fixes in dupe free
gr_gk20a.c : railgating path the crash was seen
with multiple frees happening
acr_gm20b.c : failure path, kernel panic was seen,
with multiple frees
Change-Id: Ifc5e78c0ee74799c7f78e6030c02d1a27d545a1e
Signed-off-by: Supriya <ssharatkumar@nvidia.com>
Reviewed-on: http://git-master/r/494161
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 661a2ca3..69fe4901 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -2269,7 +2269,10 @@ static void gk20a_gr_destroy_ctx_buffer(struct platform_device *pdev, | |||
2269 | struct gr_ctx_buffer_desc *desc) | 2269 | struct gr_ctx_buffer_desc *desc) |
2270 | { | 2270 | { |
2271 | struct device *dev = &pdev->dev; | 2271 | struct device *dev = &pdev->dev; |
2272 | gk20a_free_sgtable(&desc->sgt); | 2272 | if (!desc) |
2273 | return; | ||
2274 | if (desc->sgt) | ||
2275 | gk20a_free_sgtable(&desc->sgt); | ||
2273 | dma_free_attrs(dev, desc->size, desc->pages, | 2276 | dma_free_attrs(dev, desc->size, desc->pages, |
2274 | desc->iova, &desc->attrs); | 2277 | desc->iova, &desc->attrs); |
2275 | } | 2278 | } |