summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorBenjamin Chan <bkchan@codeaurora.org>2017-03-06 11:48:27 -0500
committerRajkumar Subbiah <rsubbia@codeaurora.org>2017-03-16 13:00:50 -0400
commit5c7521a040f2a49e516fdd7e1262dbee175fcfb0 (patch)
tree4f494dfa39ccb42301aa579ca18bab40fc4e2f7d /drivers/video/fbdev
parent6f55033ecf068f77136caac2e7c4a7869b3ec2bd (diff)
msm: mdss: Add lock to avoid release of active session in rotator
Add mutex lock to protect an active rotator session from being closed. Without the lock, this can happen if a rotator closing IOCTL is called from a separate thread. CRs-Fixed: 2006159 Change-Id: I927a0c626bdae5ef149e12979ec4befdbac1b7f7 Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_rotator.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_rotator.c b/drivers/video/fbdev/msm/mdss_rotator.c
index 0307d570ff64..fdd1c0153ce0 100644
--- a/drivers/video/fbdev/msm/mdss_rotator.c
+++ b/drivers/video/fbdev/msm/mdss_rotator.c
@@ -2065,10 +2065,12 @@ static int mdss_rotator_config_session(struct mdss_rot_mgr *mgr,
return ret;
}
+ mutex_lock(&mgr->lock);
perf = mdss_rotator_find_session(private, config.session_id);
if (!perf) {
pr_err("No session with id=%u could be found\n",
config.session_id);
+ mutex_unlock(&mgr->lock);
return -EINVAL;
}
@@ -2091,6 +2093,7 @@ static int mdss_rotator_config_session(struct mdss_rot_mgr *mgr,
config.output.format);
done:
ATRACE_END(__func__);
+ mutex_unlock(&mgr->lock);
return ret;
}