Message ID | 20191001114501.GA6550@mwanda (mailing list archive) |
---|---|
State | Accepted |
Commit | 4a50d454502f1401171ff061a5424583f91266db |
Delegated to: | Kalle Valo |
Headers | show |
Series | [v2] cw1200: Fix a signedness bug in cw1200_load_firmware() | expand |
Dan Carpenter <dan.carpenter@oracle.com> writes: > 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> > --- > 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; Thanks, this is indeed much better.
Dan Carpenter <dan.carpenter@oracle.com> wrote: > 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> Patch applied to wireless-drivers-next.git, thanks. 4a50d454502f cw1200: Fix a signedness bug in cw1200_load_firmware()
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,
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> --- v2: better style and preserve the error code. drivers/net/wireless/st/cw1200/fwio.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)