diff options
| author | Pankaj Gupta <gpankaj@codeaurora.org> | 2020-06-11 18:12:44 +0530 |
|---|---|---|
| committer | Jeferson <jroliveira.oliveira301@gmail.com> | 2022-02-17 17:26:48 +0100 |
| commit | e7dc3f609785c73be091635dd394aa145a9ecb57 (patch) | |
| tree | 537afef856dfbdbfbbe38658296b633f22834470 | |
| parent | 4dcdf3c50bb857159288271a9fbb9ffd9c26904e (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.c | 5 |
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); |
