rpmsg: qcom_smd: Fix uninitialized return variable in __qcom_smd_send()
authorDan Carpenter <dan.carpenter@linaro.org>
Wed, 23 Apr 2025 17:22:05 +0000 (20:22 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 13:58:28 +0000 (15:58 +0200)
The "ret" variable isn't initialized if we don't enter the loop.  For
example,  if "channel->state" is not SMD_CHANNEL_OPENED.

Fixes: 33e3820dda88 ("rpmsg: smd: Use spinlock in tx path")
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/aAkhvV0nSbrsef1P@stanley.mountain
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/rpmsg/qcom_smd.c

index 40d386809d6b78e209861c23d934e1b9fd743606..bb161def3175331aab6feb17e146951a9d556da9 100644 (file)
@@ -746,7 +746,7 @@ static int __qcom_smd_send(struct qcom_smd_channel *channel, const void *data,
        __le32 hdr[5] = { cpu_to_le32(len), };
        int tlen = sizeof(hdr) + len;
        unsigned long flags;
-       int ret;
+       int ret = 0;
 
        /* Word aligned channels only accept word size aligned data */
        if (channel->info_word && len % 4)