diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2014-03-28 11:46:46 +0530 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2014-03-31 00:10:26 -0700 |
commit | 2ac28aa128a04f9bfa16ed27106be0dc544de741 (patch) | |
tree | edf9a8d5c804e1a6e5337b83937ae3cfb33b580b /drivers/media/platform/soc_camera/tegra_camera/vi2.c | |
parent | a715d19226b7fa7b97119c7a5961a3c7cf460137 (diff) |
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 <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/388116
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-by: Bryan Wu <pengw@nvidia.com>
Tested-by: Bryan Wu <pengw@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/media/platform/soc_camera/tegra_camera/vi2.c')
-rw-r--r-- | drivers/media/platform/soc_camera/tegra_camera/vi2.c | 8 |
1 files changed, 8 insertions, 0 deletions
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, |