The "priv->hw_type" is an enum and in this context GCC will treat it
as an unsigned int so the error handling will never trigger.

Fixes: a910e4a94f69 ("cw1200: add driver for the ST-E CW1100 & CW1200 WLAN 
chipsets")
Signed-off-by: Dan Carpenter <[email protected]>
---
v2: better style and preserve the error code.

 drivers/net/wireless/st/cw1200/fwio.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/st/cw1200/fwio.c 
b/drivers/net/wireless/st/cw1200/fwio.c
index 6574e78e05ea..2a03dc533b6a 100644
--- a/drivers/net/wireless/st/cw1200/fwio.c
+++ b/drivers/net/wireless/st/cw1200/fwio.c
@@ -320,12 +320,12 @@ int cw1200_load_firmware(struct cw1200_common *priv)
                goto out;
        }
 
-       priv->hw_type = cw1200_get_hw_type(val32, &major_revision);
-       if (priv->hw_type < 0) {
+       ret = cw1200_get_hw_type(val32, &major_revision);
+       if (ret < 0) {
                pr_err("Can't deduce hardware type.\n");
-               ret = -ENOTSUPP;
                goto out;
        }
+       priv->hw_type = ret;
 
        /* Set DPLL Reg value, and read back to confirm writes work */
        ret = cw1200_reg_write_32(priv, ST90TDS_TSET_GEN_R_W_REG_ID,
-- 
2.20.1

Reply via email to