clk: msm: Fix signal interrupt issue for virtual clock
Virtual clock operations returned error when received signal. Uninterruptible flag is added in receiving response to avoid being interrupted by signal. Change-Id: Id3b5b56432751ec5b49c36a028444c0360fe811f Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
This commit is contained in:
parent
785f45b603
commit
eddcb31158
1 changed files with 11 additions and 6 deletions
|
@ -77,7 +77,7 @@ static int virtclk_front_get_id(struct clk *clk)
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = habmm_socket_recv(handle, &rsp, &rsp_size,
|
ret = habmm_socket_recv(handle, &rsp, &rsp_size,
|
||||||
UINT_MAX, 0);
|
UINT_MAX, HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
||||||
ret);
|
ret);
|
||||||
|
@ -132,7 +132,8 @@ static int virtclk_front_prepare(struct clk *clk)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
|
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
|
||||||
|
HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
||||||
ret);
|
ret);
|
||||||
|
@ -185,7 +186,8 @@ static void virtclk_front_unprepare(struct clk *clk)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
|
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
|
||||||
|
HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
||||||
ret);
|
ret);
|
||||||
|
@ -236,7 +238,8 @@ static int virtclk_front_reset(struct clk *clk, enum clk_reset_action action)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
|
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
|
||||||
|
HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
||||||
ret);
|
ret);
|
||||||
|
@ -290,7 +293,8 @@ static int virtclk_front_set_rate(struct clk *clk, unsigned long rate)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
|
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
|
||||||
|
HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
||||||
ret);
|
ret);
|
||||||
|
@ -362,7 +366,8 @@ static unsigned long virtclk_front_get_rate(struct clk *clk)
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX, 0);
|
ret = habmm_socket_recv(handle, &rsp, &rsp_size, UINT_MAX,
|
||||||
|
HABMM_SOCKET_RECV_FLAGS_UNINTERRUPTIBLE);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
ret = 0;
|
ret = 0;
|
||||||
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
pr_err("%s: habmm socket receive failed (%d)\n", clk->dbg_name,
|
||||||
|
|
Loading…
Add table
Reference in a new issue