msm: ais: handle the error value returned during get clock
currently only NULL pointer check is used to validate the return value from clkget this change to handle all the failures. Change-Id: I275cb4717c675baf528e05c50058f2c6b0025011 Signed-off-by: E V Ravi <evenka@codeaurora.org> Signed-off-by: Sumalatha Malothu <smalot@codeaurora.org>
This commit is contained in:
parent
2692bfe650
commit
12fa518175
1 changed files with 5 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2019, The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -357,12 +357,13 @@ int msm_cam_clk_enable(struct device *dev, struct msm_cam_clk_info *clk_info,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (i = num_clk - 1; i >= 0; i--) {
|
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__,
|
CDBG("%s disable %s\n", __func__,
|
||||||
clk_info[i].clk_name);
|
clk_info[i].clk_name);
|
||||||
clk_disable(clk_ptr[i]);
|
clk_disable(clk_ptr[i]);
|
||||||
clk_unprepare(clk_ptr[i]);
|
clk_unprepare(clk_ptr[i]);
|
||||||
clk_put(clk_ptr[i]);
|
clk_put(clk_ptr[i]);
|
||||||
|
clk_ptr[i] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -378,10 +379,11 @@ cam_clk_set_err:
|
||||||
clk_put(clk_ptr[i]);
|
clk_put(clk_ptr[i]);
|
||||||
cam_clk_get_err:
|
cam_clk_get_err:
|
||||||
for (i--; i >= 0; i--) {
|
for (i--; i >= 0; i--) {
|
||||||
if (clk_ptr[i] != NULL) {
|
if (!IS_ERR_OR_NULL(clk_ptr[i])) {
|
||||||
clk_disable(clk_ptr[i]);
|
clk_disable(clk_ptr[i]);
|
||||||
clk_unprepare(clk_ptr[i]);
|
clk_unprepare(clk_ptr[i]);
|
||||||
clk_put(clk_ptr[i]);
|
clk_put(clk_ptr[i]);
|
||||||
|
clk_ptr[i] = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
|
|
Loading…
Add table
Reference in a new issue