aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPankaj Gupta <gpankaj@codeaurora.org>2020-06-11 18:12:44 +0530
committerJeferson <jroliveira.oliveira301@gmail.com>2022-02-17 17:26:48 +0100
commite7dc3f609785c73be091635dd394aa145a9ecb57 (patch)
tree537afef856dfbdbfbbe38658296b633f22834470
parent4dcdf3c50bb857159288271a9fbb9ffd9c26904e (diff)
msm: kgsl: Do not clear dispatcher fault when adreno reset fails
When adreno_reset fails, BUG_ON gets triggered to collect ram dump. Do not clear dispatcher fault bits in such case to get correct fault information from ram dump. Clear dispatcher fault when adreno_reset returns success. Change-Id: I6f54d48201d5e4ea5e3358b18d2f09ec7b285624 Signed-off-by: Pankaj Gupta <gpankaj@codeaurora.org>
-rw-r--r--drivers/gpu/msm/adreno_dispatch.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/msm/adreno_dispatch.c b/drivers/gpu/msm/adreno_dispatch.c
index 4030438ba83..67bf0088fba 100644
--- a/drivers/gpu/msm/adreno_dispatch.c
+++ b/drivers/gpu/msm/adreno_dispatch.c
@@ -1803,12 +1803,13 @@ static int dispatcher_do_fault(struct kgsl_device *device)
adreno_clear_gpu_halt(adreno_dev);
ret = adreno_reset(device);
mutex_unlock(&device->mutex);
- /* if any other fault got in until reset then ignore */
- atomic_set(&dispatcher->fault, 0);
/* If adreno_reset() fails then what hope do we have for the future? */
BUG_ON(ret);
+ /* if any other fault got in until reset then ignore */
+ atomic_set(&dispatcher->fault, 0);
+
/* recover all the dispatch_q's starting with the one that hung */
if (dispatch_q)
recover_dispatch_q(device, dispatch_q, fault, base);