From a84dc62b5ef54d6f714172359a4e0fe68f8802ca Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Thu, 17 Jul 2014 18:09:13 +0530 Subject: gpu: nvgpu: return error from mutex_acquire() if pmu not initialized In pmu_mutex_acquire(), we return zero (success) if pmu->initialized is not set Since mutex_acquire() was successful, we then call pmu_mutex_release() If now pmu->initialized is set in some other thread then we proceed to validate the mutex owner and end up causing below warning : pmu_mutex_release: requester 0x00000000 NOT match owner 0x00000008 Hence to fix this return error from mutex_acquire() and mutex_release() if pmu->initialized is not yet set and in that case we proceed to call elpg enable/disable Bug 1533644 Change-Id: Ifbb9e6a8e13f6478a13e3f9d98ced11792cc881f Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/439333 GVS: Gerrit_Virtual_Submit Reviewed-by: Naveen Kumar S Tested-by: Naveen Kumar S Reviewed-by: Arto Merilainen --- drivers/gpu/nvgpu/gk20a/pmu_gk20a.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a') diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c index c23d83cf..3abf1b43 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c @@ -1227,7 +1227,7 @@ int pmu_mutex_acquire(struct pmu_gk20a *pmu, u32 id, u32 *token) u32 data, owner, max_retry; if (!pmu->initialized) - return 0; + return -EINVAL; BUG_ON(!token); BUG_ON(!PMU_MUTEX_ID_IS_VALID(id)); @@ -1296,7 +1296,7 @@ int pmu_mutex_release(struct pmu_gk20a *pmu, u32 id, u32 *token) u32 owner, data; if (!pmu->initialized) - return 0; + return -EINVAL; BUG_ON(!token); BUG_ON(!PMU_MUTEX_ID_IS_VALID(id)); -- cgit v1.2.2