diff options
| author | Colin Ian King <colin.king@canonical.com> | 2017-09-03 09:06:01 -0400 |
|---|---|---|
| committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2017-09-04 13:52:30 -0400 |
| commit | ed43d098f9020d6669a00bd26fac807d5c19e202 (patch) | |
| tree | 90d5f0f36172a3922136152f440952e014b1e90b /drivers/rpmsg | |
| parent | 906cf29cfab5806d32c2a274f86f3d076c0a48be (diff) | |
rpmsg: glink: initialize ret to zero to ensure error status check is correct
The new switch cases for RPM_CMD_RX_DONE, RPM_CMD_RX_DONE_W_REUSE,
RPM_CMD_RX_INTENT_REQ_ACK, RPM_CMD_INTENT and RPM_CMD_RX_INTENT_REQ from
4 recent commits are not setting ret and so a later non-zero check on ret
is testing on a garbage value in ret. Fix this by initializing ret to zero.
Detected by CoverityScan CID#1455249 ("Uninitialized scalar variable")
Fixes: 933b45da5d1d ("rpmsg: glink: Add support for TX intents)
Fixes: dacbb35e930f ("glink: Receive and store the remote intent buffers")
Fixes: 27b9c5b66b23 ("rpmsg: glink: Request for intents when unavailable")
Fixes: 88c6060f5a7f ("rpmsg: glink: Handle remote rx done command")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/rpmsg')
| -rw-r--r-- | drivers/rpmsg/qcom_glink_native.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/rpmsg/qcom_glink_native.c b/drivers/rpmsg/qcom_glink_native.c index 8bc0d0456a40..5a5e927ea50f 100644 --- a/drivers/rpmsg/qcom_glink_native.c +++ b/drivers/rpmsg/qcom_glink_native.c | |||
| @@ -957,7 +957,7 @@ static irqreturn_t qcom_glink_native_intr(int irq, void *data) | |||
| 957 | unsigned int param2; | 957 | unsigned int param2; |
| 958 | unsigned int avail; | 958 | unsigned int avail; |
| 959 | unsigned int cmd; | 959 | unsigned int cmd; |
| 960 | int ret; | 960 | int ret = 0; |
| 961 | 961 | ||
| 962 | for (;;) { | 962 | for (;;) { |
| 963 | avail = qcom_glink_rx_avail(glink); | 963 | avail = qcom_glink_rx_avail(glink); |
| @@ -994,8 +994,6 @@ static irqreturn_t qcom_glink_native_intr(int irq, void *data) | |||
| 994 | 994 | ||
| 995 | mbox_send_message(glink->mbox_chan, NULL); | 995 | mbox_send_message(glink->mbox_chan, NULL); |
| 996 | mbox_client_txdone(glink->mbox_chan, 0); | 996 | mbox_client_txdone(glink->mbox_chan, 0); |
| 997 | |||
| 998 | ret = 0; | ||
| 999 | break; | 997 | break; |
| 1000 | case RPM_CMD_INTENT: | 998 | case RPM_CMD_INTENT: |
| 1001 | qcom_glink_handle_intent(glink, param1, param2, avail); | 999 | qcom_glink_handle_intent(glink, param1, param2, avail); |
