msm: kgsl: Don't delete uninitialized preemption timer
If we delete uninitialized timer on CONFIG_DEBUG_OBJECTS disabled build del_timer_sync() will block for ever. For all A3xx targets preemption timer is not initialized, but dispatcher fault handler is trying to delete the uninitialized preemption timer. Fix this issue by adding a preemption check before we delete it. CRs-Fixed: 2023690 Change-Id: I2c51a0b2286b82bf2eb5ee68d923dd9585f07f00 Signed-off-by: Wenbin Wang <wwenbin@codeaurora.org> Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
This commit is contained in:
parent
60be71604a
commit
bd15fce5df
1 changed files with 6 additions and 1 deletions
|
@ -2090,7 +2090,12 @@ static int dispatcher_do_fault(struct adreno_device *adreno_dev)
|
|||
/* Turn off all the timers */
|
||||
del_timer_sync(&dispatcher->timer);
|
||||
del_timer_sync(&dispatcher->fault_timer);
|
||||
del_timer_sync(&adreno_dev->preempt.timer);
|
||||
/*
|
||||
* Deleting uninitialized timer will block for ever on kernel debug
|
||||
* disable build. Hence skip del timer if it is not initialized.
|
||||
*/
|
||||
if (adreno_is_preemption_enabled(adreno_dev))
|
||||
del_timer_sync(&adreno_dev->preempt.timer);
|
||||
|
||||
mutex_lock(&device->mutex);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue