| From 88a5f6bacefdd57ac79d5dc61e4513eca4cf30c3 Mon Sep 17 00:00:00 2001 |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Tue, 1 Oct 2019 14:45:01 +0300 |
| Subject: [PATCH] cw1200: Fix a signedness bug in cw1200_load_firmware() |
| |
| 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: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| 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.7.4 |
| |