diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2019-05-13 07:29:43 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-05-13 07:29:42 -0700 |
| commit | 77c04577d922e31af38b247f5ce8fa162bbab792 (patch) | |
| tree | 7c366069364d630413c5de8cceef850f2600c97b | |
| parent | 5e144157195d85612bdf4343ce04db3e3595b403 (diff) | |
| parent | 6183ceb8d1e71eefcc9f3dc558527b2881ab90e7 (diff) | |
Merge "msm: camera_v2: handle the error value returned during get clock"
| -rw-r--r-- | drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c b/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c index 8a49c7cf9f4a..21438074bcc3 100644 --- a/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c +++ b/drivers/media/platform/msm/camera_v2/common/msm_camera_io_util.c @@ -1,4 +1,5 @@ -/* Copyright (c) 2011-2014, 2017, The Linux Foundataion. All rights reserved. +/* Copyright (c) 2011-2014, 2017, 2019 The Linux Foundataion. + * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -364,12 +365,13 @@ int msm_cam_clk_enable(struct device *dev, struct msm_cam_clk_info *clk_info, } } else { for (i = num_clk - 1; i >= 0; i--) { - if (clk_ptr[i] != NULL) { + if (!IS_ERR_OR_NULL(clk_ptr[i])) { CDBG("%s disable %s\n", __func__, clk_info[i].clk_name); clk_disable(clk_ptr[i]); clk_unprepare(clk_ptr[i]); clk_put(clk_ptr[i]); + clk_ptr[i] = NULL; } } } @@ -383,10 +385,11 @@ cam_clk_set_err: clk_put(clk_ptr[i]); cam_clk_get_err: for (i--; i >= 0; i--) { - if (clk_ptr[i] != NULL) { + if (!IS_ERR_OR_NULL(clk_ptr[i])) { clk_disable(clk_ptr[i]); clk_unprepare(clk_ptr[i]); clk_put(clk_ptr[i]); + clk_ptr[i] = NULL; } } return rc; |
