2021-06-15 13:55:14

by Colin King

[permalink] [raw]
Subject: [PATCH][next][V2] net: pcs: xpcs: Fix a less than zero u16 comparison error

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]>
---
V2: Fix typo in subject and align the following 2 lines after the
val = ret & ... assignment. Thanks to Vladimir Oltean for spotting
these.
---
drivers/net/pcs/pcs-xpcs-nxp.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/pcs/pcs-xpcs-nxp.c b/drivers/net/pcs/pcs-xpcs-nxp.c
index de99c37cf2ae..984c9f7f16a8 100644
--- a/drivers/net/pcs/pcs-xpcs-nxp.c
+++ b/drivers/net/pcs/pcs-xpcs-nxp.c
@@ -152,13 +152,13 @@ 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 |
- SJA1110_RXBIAS_PD | SJA1110_RESET_SER_EN |
- SJA1110_RESET_SER | SJA1110_RESET_DES);
+ 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;

ret = xpcs_write(xpcs, MDIO_MMD_VEND2, SJA1110_POWERDOWN_ENABLE, val);
--
2.31.1


2021-06-15 14:04:23

by Vladimir Oltean

[permalink] [raw]
Subject: Re: [PATCH][next][V2] net: pcs: xpcs: Fix a less than zero u16 comparison error

On Tue, Jun 15, 2021 at 02:52:53PM +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]>
> ---
> V2: Fix typo in subject and align the following 2 lines after the
> val = ret & ... assignment. Thanks to Vladimir Oltean for spotting
> these.
> ---

Thanks.

Reviewed-by: Vladimir Oltean <[email protected]>

2021-06-17 19:55:54

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH][next][V2] net: pcs: xpcs: Fix a less than zero u16 comparison error

Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Tue, 15 Jun 2021 14:52:53 +0100 you 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]>
>
> [...]

Here is the summary with links:
- [next,V2] net: pcs: xpcs: Fix a less than zero u16 comparison error
https://git.kernel.org/netdev/net-next/c/d356dbe23f60

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html