summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Kwong <akwong@codeaurora.org>2016-05-13 09:42:55 -0400
committerJeevan Shriram <jshriram@codeaurora.org>2016-05-20 19:23:43 -0700
commitb1dd9f0c4c618723a85e799fd38bf4ce9885ba32 (patch)
tree3d4c424ea5c6f6df9ff2bef407310d5bda7f517e
parentb1b3223e21b2ebaeb67cc815aaf4e891dfb62bde (diff)
msm: sde: Correct resource release upon rotator exit
This patch turns off clock and bus control as well releases other software resources upon driver exit. This patch corrects crash due to resource leakage. CRs-Fixed: 1018309 Change-Id: Ie0c6639fff9b829a58e12037f88c6508864b60a0 Signed-off-by: Alan Kwong <akwong@codeaurora.org>
-rw-r--r--drivers/media/platform/msm/sde/rotator/sde_rotator_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/platform/msm/sde/rotator/sde_rotator_core.c b/drivers/media/platform/msm/sde/rotator/sde_rotator_core.c
index 28748ec2d6e0..f5799c7f86fd 100644
--- a/drivers/media/platform/msm/sde/rotator/sde_rotator_core.c
+++ b/drivers/media/platform/msm/sde/rotator/sde_rotator_core.c
@@ -2423,13 +2423,15 @@ int sde_rotator_core_init(struct sde_rot_mgr **pmgr,
error_init_queue:
mgr->ops_hw_destroy(mgr);
error_hw_init:
+error_map_hw_ops:
+ sde_rotator_clk_ctrl(mgr, false);
+ sde_rotator_resource_ctrl(mgr, false);
pm_runtime_disable(mgr->device);
sde_rotator_res_destroy(mgr);
error_res_init:
error_parse_dt:
sysfs_remove_group(&mgr->device->kobj, &sde_rotator_fs_attr_group);
error_create_sysfs:
-error_map_hw_ops:
devm_kfree(&pdev->dev, mgr);
*pmgr = NULL;
return ret;