From 2ac28aa128a04f9bfa16ed27106be0dc544de741 Mon Sep 17 00:00:00 2001 From: Deepak Nibade Date: Fri, 28 Mar 2014 11:46:46 +0530 Subject: media: tegra_camera: free syncpts at driver remove Use nvhost_free_syncpts() to free the syncpts during driver unload This is required to fix syncpts leak Bug 1489488 Bug 1305024 Change-Id: Ic02771e2078ddead4c9b54826a669bb7c3653ba2 Signed-off-by: Deepak Nibade Reviewed-on: http://git-master/r/388116 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Shridhar Rasal Reviewed-by: Bryan Wu Tested-by: Bryan Wu Reviewed-by: Terje Bergstrom --- drivers/media/platform/soc_camera/tegra_camera/vi2.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'drivers/media/platform/soc_camera/tegra_camera/vi2.c') diff --git a/drivers/media/platform/soc_camera/tegra_camera/vi2.c b/drivers/media/platform/soc_camera/tegra_camera/vi2.c index 8fc4618c2546..b97e0b341fe0 100644 --- a/drivers/media/platform/soc_camera/tegra_camera/vi2.c +++ b/drivers/media/platform/soc_camera/tegra_camera/vi2.c @@ -435,6 +435,13 @@ static void vi2_init_syncpts(struct tegra_camera_dev *cam) cam->syncpt_id_csi_b = nvhost_get_syncpt_client_managed("vi_csi_B"); } +static void vi2_free_syncpts(struct tegra_camera_dev *cam) +{ + nvhost_free_syncpt(cam->syncpt_id_csi_a); + + nvhost_free_syncpt(cam->syncpt_id_csi_b); +} + static void vi2_save_syncpts(struct tegra_camera_dev *cam) { u32 val; @@ -802,6 +809,7 @@ struct tegra_camera_ops vi2_ops = { .activate = vi2_sw_reset, .init_syncpts = vi2_init_syncpts, + .free_syncpts = vi2_free_syncpts, .save_syncpts = vi2_save_syncpts, .incr_syncpts = vi2_incr_syncpts, -- cgit v1.2.3