rsi: fix error return code in rsi_reset_card()
authorZhang Changzhong <zhangchangzhong@huawei.com>
Tue, 17 Nov 2020 03:07:34 +0000 (11:07 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:53:21 +0000 (11:53 +0100)
[ Upstream commit fb21d14694bd46a538258d86498736490b3ba855 ]

Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Fixes: 17ff2c794f39 ("rsi: reset device changes for 9116")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1605582454-39649-1-git-send-email-zhangchangzhong@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/rsi/rsi_91x_usb.c

index a62d41c..00b5589 100644 (file)
@@ -741,24 +741,24 @@ static int rsi_reset_card(struct rsi_hw *adapter)
                if (ret < 0)
                        goto fail;
        } else {
-               if ((rsi_usb_master_reg_write(adapter,
-                                             NWP_WWD_INTERRUPT_TIMER,
-                                             NWP_WWD_INT_TIMER_CLKS,
-                                             RSI_9116_REG_SIZE)) < 0) {
+               ret = rsi_usb_master_reg_write(adapter,
+                                              NWP_WWD_INTERRUPT_TIMER,
+                                              NWP_WWD_INT_TIMER_CLKS,
+                                              RSI_9116_REG_SIZE);
+               if (ret < 0)
                        goto fail;
-               }
-               if ((rsi_usb_master_reg_write(adapter,
-                                             NWP_WWD_SYSTEM_RESET_TIMER,
-                                             NWP_WWD_SYS_RESET_TIMER_CLKS,
-                                             RSI_9116_REG_SIZE)) < 0) {
+               ret = rsi_usb_master_reg_write(adapter,
+                                              NWP_WWD_SYSTEM_RESET_TIMER,
+                                              NWP_WWD_SYS_RESET_TIMER_CLKS,
+                                              RSI_9116_REG_SIZE);
+               if (ret < 0)
                        goto fail;
-               }
-               if ((rsi_usb_master_reg_write(adapter,
-                                             NWP_WWD_MODE_AND_RSTART,
-                                             NWP_WWD_TIMER_DISABLE,
-                                             RSI_9116_REG_SIZE)) < 0) {
+               ret = rsi_usb_master_reg_write(adapter,
+                                              NWP_WWD_MODE_AND_RSTART,
+                                              NWP_WWD_TIMER_DISABLE,
+                                              RSI_9116_REG_SIZE);
+               if (ret < 0)
                        goto fail;
-               }
        }
 
        rsi_dbg(INFO_ZONE, "Reset card done\n");