From: Colin Ian King <[email protected]>
Currently the check for the u16 variable val being less than zero is
always false because val is unsigned. Fix this by using the int
variable for the assignment and less than zero check.
Addresses-Coverity: ("Unsigned compared against 0")
Fixes: f7380bba42fd ("net: pcs: xpcs: add support for NXP SJA1110")
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/net/pcs/pcs-xpcs-nxp.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/pcs/pcs-xpcs-nxp.c b/drivers/net/pcs/pcs-xpcs-nxp.c
index de99c37cf2ae..80430ca94fbf 100644
--- a/drivers/net/pcs/pcs-xpcs-nxp.c
+++ b/drivers/net/pcs/pcs-xpcs-nxp.c
@@ -152,11 +152,11 @@ static int nxp_sja1110_pma_config(struct dw_xpcs *xpcs,
/* Enable TX and RX PLLs and circuits.
* Release reset of PMA to enable data flow to/from PCS.
*/
- val = xpcs_read(xpcs, MDIO_MMD_VEND2, SJA1110_POWERDOWN_ENABLE);
- if (val < 0)
- return val;
+ ret = xpcs_read(xpcs, MDIO_MMD_VEND2, SJA1110_POWERDOWN_ENABLE);
+ if (ret < 0)
+ return ret;
- val &= ~(SJA1110_TXPLL_PD | SJA1110_TXPD | SJA1110_RXCH_PD |
+ val = ret & ~(SJA1110_TXPLL_PD | SJA1110_TXPD | SJA1110_RXCH_PD |
SJA1110_RXBIAS_PD | SJA1110_RESET_SER_EN |
SJA1110_RESET_SER | SJA1110_RESET_DES);
val |= SJA1110_RXPKDETEN | SJA1110_RCVEN;
--
2.31.1
Some nitpicks, fix them if you'd like, ignore them if not:
s/comparision/comparison/
On Tue, Jun 15, 2021 at 02:16:01PM +0100, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Currently the check for the u16 variable val being less than zero is
> always false because val is unsigned. Fix this by using the int
> variable for the assignment and less than zero check.
>
> Addresses-Coverity: ("Unsigned compared against 0")
> Fixes: f7380bba42fd ("net: pcs: xpcs: add support for NXP SJA1110")
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/net/pcs/pcs-xpcs-nxp.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/pcs/pcs-xpcs-nxp.c b/drivers/net/pcs/pcs-xpcs-nxp.c
> index de99c37cf2ae..80430ca94fbf 100644
> --- a/drivers/net/pcs/pcs-xpcs-nxp.c
> +++ b/drivers/net/pcs/pcs-xpcs-nxp.c
> @@ -152,11 +152,11 @@ static int nxp_sja1110_pma_config(struct dw_xpcs *xpcs,
> /* Enable TX and RX PLLs and circuits.
> * Release reset of PMA to enable data flow to/from PCS.
> */
> - val = xpcs_read(xpcs, MDIO_MMD_VEND2, SJA1110_POWERDOWN_ENABLE);
> - if (val < 0)
> - return val;
> + ret = xpcs_read(xpcs, MDIO_MMD_VEND2, SJA1110_POWERDOWN_ENABLE);
> + if (ret < 0)
> + return ret;
>
> - val &= ~(SJA1110_TXPLL_PD | SJA1110_TXPD | SJA1110_RXCH_PD |
> + val = ret & ~(SJA1110_TXPLL_PD | SJA1110_TXPD | SJA1110_RXCH_PD |
You could have realigned the following 2 lines as well with the new
position of SJA1110_TXPLL_PD.
> SJA1110_RXBIAS_PD | SJA1110_RESET_SER_EN |
> SJA1110_RESET_SER | SJA1110_RESET_DES);
> val |= SJA1110_RXPKDETEN | SJA1110_RCVEN;
> --
> 2.31.1
>
Reviewed-by: Vladimir Oltean <[email protected]>