]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
cw1200: Fix a signedness bug in cw1200_load_firmware()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 1 Oct 2019 11:45:01 +0000 (14:45 +0300)
committerKhalid Elmously <khalid.elmously@canonical.com>
Fri, 14 Feb 2020 05:29:37 +0000 (00:29 -0500)
BugLink: https://bugs.launchpad.net/bugs/1862259
commit 4a50d454502f1401171ff061a5424583f91266db upstream.

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 <dan.carpenter@oracle.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/net/wireless/st/cw1200/fwio.c

index 30e7646d04affac71a3f3a1ad65702883fef5bef..16be7fa82a233bee067fcf8cbec42bd39156106c 100644 (file)
@@ -323,12 +323,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,