summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-05-13 07:29:43 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-05-13 07:29:42 -0700
commit77c04577d922e31af38b247f5ce8fa162bbab792 (patch)
tree7c366069364d630413c5de8cceef850f2600c97b
parent5e144157195d85612bdf4343ce04db3e3595b403 (diff)
parent6183ceb8d1e71eefcc9f3dc558527b2881ab90e7 (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.c9
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;