rpmsg: glink: initialize ret to zero to ensure error status check is correct
authorColin Ian King <colin.king@canonical.com>
Sun, 3 Sep 2017 13:06:01 +0000 (14:06 +0100)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 4 Sep 2017 17:52:30 +0000 (10:52 -0700)
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>
drivers/rpmsg/qcom_glink_native.c

index 8bc0d04..5a5e927 100644 (file)
@@ -957,7 +957,7 @@ static irqreturn_t qcom_glink_native_intr(int irq, void *data)
        unsigned int param2;
        unsigned int avail;
        unsigned int cmd;
-       int ret;
+       int ret = 0;
 
        for (;;) {
                avail = qcom_glink_rx_avail(glink);
@@ -994,8 +994,6 @@ static irqreturn_t qcom_glink_native_intr(int irq, void *data)
 
                        mbox_send_message(glink->mbox_chan, NULL);
                        mbox_client_txdone(glink->mbox_chan, 0);
-
-                       ret = 0;
                        break;
                case RPM_CMD_INTENT:
                        qcom_glink_handle_intent(glink, param1, param2, avail);