rsi: fix error code in rsi_load_9116_firmware()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 5 Aug 2021 10:37:46 +0000 (13:37 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Sep 2021 07:50:42 +0000 (09:50 +0200)
[ Upstream commit d0f8430332a16c7baa80ce2886339182c5d85f37 ]

This code returns success if the kmemdup() fails, but obviously it
should return -ENOMEM instead.

Fixes: e5a1ecc97e5f ("rsi: add firmware loading for 9116 device")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210805103746.GA26417@kili
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/rsi/rsi_91x_hal.c

index 99b21a2..f4a26f1 100644 (file)
@@ -1038,8 +1038,10 @@ static int rsi_load_9116_firmware(struct rsi_hw *adapter)
        }
 
        ta_firmware = kmemdup(fw_entry->data, fw_entry->size, GFP_KERNEL);
-       if (!ta_firmware)
+       if (!ta_firmware) {
+               status = -ENOMEM;
                goto fail_release_fw;
+       }
        fw_p = ta_firmware;
        instructions_sz = fw_entry->size;
        rsi_dbg(INFO_ZONE, "FW Length = %d bytes\n", instructions_sz);