wl18xx: add checks on wl18xx_top_reg_write() return value
authorGustavo A. R. Silva <garsilva@embeddedor.com>
Mon, 26 Jun 2017 23:06:19 +0000 (18:06 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 28 Jun 2017 18:18:40 +0000 (21:18 +0300)
Check return value from call to wl18xx_top_reg_write(),
so in case of error jump to goto label out and return.

Also, remove unnecessary value check before goto label out.

Addresses-Coverity-ID: 1226938
Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ti/wl18xx/main.c

index d1aa3eee0e81f8cc7612eddabc4cf630dbbd1e79..0cf3b4013dd646104b1f153c3d8a191f12a5dba8 100644 (file)
@@ -793,9 +793,13 @@ static int wl18xx_set_clk(struct wl1271 *wl)
                ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_P_FACTOR_CFG_2,
                                        (wl18xx_clk_table[clk_freq].p >> 16) &
                                        PLLSH_WCS_PLL_P_FACTOR_CFG_2_MASK);
+               if (ret < 0)
+                       goto out;
        } else {
                ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_SWALLOW_EN,
                                           PLLSH_WCS_PLL_SWALLOW_EN_VAL2);
+               if (ret < 0)
+                       goto out;
        }
 
        /* choose WCS PLL */
@@ -819,8 +823,6 @@ static int wl18xx_set_clk(struct wl1271 *wl)
        /* reset the swallowing logic */
        ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_SWALLOW_EN,
                                   PLLSH_COEX_PLL_SWALLOW_EN_VAL2);
-       if (ret < 0)
-               goto out;
 
 out:
        return ret;