From d96ff67fb02107e11d007f6144db85e8f2da4a24 Mon Sep 17 00:00:00 2001 From: Konsta Holtta Date: Wed, 12 Oct 2016 10:21:02 +0300 Subject: gpu: nvgpu: fix prealloc resource alloc error handling Only free the per-channel preallocated job-tracking resources during channel allocation error path if they have actually been allocated. Bug 1795076 Change-Id: I2de90504f1042ce372337b68c5405727b4e4abb4 Signed-off-by: Konsta Holtta Reviewed-on: http://git-master/r/1234983 (cherry picked from commit 62cb75c6baa02d0edecd1f81f1b8b80a985fd715) Reviewed-on: http://git-master/r/1238329 GVS: Gerrit_Virtual_Submit Reviewed-by: Sami Kiminki Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index f839bfbc..7481e747 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c @@ -1802,7 +1802,8 @@ int gk20a_alloc_channel_gpfifo(struct channel_gk20a *c, clean_up_priv_cmd: channel_gk20a_free_priv_cmdbuf(c); clean_up_prealloc: - channel_gk20a_free_prealloc_resources(c); + if (args->num_inflight_jobs) + channel_gk20a_free_prealloc_resources(c); clean_up_sync: gk20a_channel_sync_destroy(c->sync); c->sync = NULL; -- cgit v1.2.2