summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-04-25 21:48:37 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-04-25 21:48:36 -0700
commit330663d26e269cc43cd695a83543164cd9848ceb (patch)
tree4bba792bfddd57cf297c15e1b0aa204b8889a7ce /drivers/media
parentdeb9e834e978ccd4999f6acbbc05fe0b4544a628 (diff)
parent0a7b7c0d7d4e2e61c614b9f2f2c6f623ebc6d280 (diff)
Merge "msm: sde: Fix kernel crash after stop streaming timeout"
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c b/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c
index 0cd8e613c224..cfee4efb6f16 100644
--- a/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c
+++ b/drivers/media/platform/msm/sde/rotator/sde_rotator_dev.c
@@ -465,6 +465,10 @@ static void sde_rotator_stop_streaming(struct vb2_queue *q)
sde_rot_mgr_lock(rot_dev->mgr);
sde_rotator_cancel_all_requests(rot_dev->mgr, ctx->private);
sde_rot_mgr_unlock(rot_dev->mgr);
+ mutex_unlock(q->lock);
+ cancel_work_sync(&ctx->submit_work);
+ cancel_work_sync(&ctx->retire_work);
+ mutex_lock(q->lock);
}
sde_rotator_return_all_buffers(q, VB2_BUF_STATE_ERROR);