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>
This commit is contained in:
Pankaj Gupta 2020-06-11 18:12:44 +05:30 • committed by Gerrit - the friendly Code Review server
commit e7cfb4d38d

View file

@ -2251,12 +2251,13 @@ static int dispatcher_do_fault(struct adreno_device *adreno_dev)
ret = adreno_reset(device, fault);
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);