Netdev List
 help / color / mirror / Atom feed
* [PATCH] net: dsa: sja1105: Don't return a negative in u8 sja1105_stp_state_get
@ 2019-05-08 20:32 Vladimir Oltean
  2019-05-08 20:58 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Vladimir Oltean @ 2019-05-08 20:32 UTC (permalink / raw)
  To: davem, dan.carpenter
  Cc: f.fainelli, vivien.didelot, andrew, kernel-janitors, netdev,
	Vladimir Oltean

Dan Carpenter says:

The patch 640f763f98c2: "net: dsa: sja1105: Add support for Spanning
Tree Protocol" from May 5, 2019, leads to the following static
checker warning:

        drivers/net/dsa/sja1105/sja1105_main.c:1073 sja1105_stp_state_get()
        warn: signedness bug returning '(-22)'

The caller doesn't check for negative errors anyway.

Fixes: 640f763f98c2: ("net: dsa: sja1105: Add support for Spanning Tree Protocol")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
---
 drivers/net/dsa/sja1105/sja1105_main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/net/dsa/sja1105/sja1105_main.c b/drivers/net/dsa/sja1105/sja1105_main.c
index 4ccdbc80f7be..46f76b4c5618 100644
--- a/drivers/net/dsa/sja1105/sja1105_main.c
+++ b/drivers/net/dsa/sja1105/sja1105_main.c
@@ -1124,7 +1124,11 @@ static u8 sja1105_stp_state_get(struct sja1105_private *priv, int port)
 		return BR_STATE_LEARNING;
 	if (mac[port].ingress && mac[port].egress && mac[port].dyn_learn)
 		return BR_STATE_FORWARDING;
-	return -EINVAL;
+	/* This is really an error condition if the MAC was in none of the STP
+	 * states above. But treating the port as disabled does nothing, which
+	 * is adequate, and it also resets the MAC to a known state later on.
+	 */
+	return BR_STATE_DISABLED;
 }
 
 /* For situations where we need to change a setting at runtime that is only
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] net: dsa: sja1105: Don't return a negative in u8 sja1105_stp_state_get
  2019-05-08 20:32 [PATCH] net: dsa: sja1105: Don't return a negative in u8 sja1105_stp_state_get Vladimir Oltean
@ 2019-05-08 20:58 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2019-05-08 20:58 UTC (permalink / raw)
  To: olteanv
  Cc: dan.carpenter, f.fainelli, vivien.didelot, andrew,
	kernel-janitors, netdev

From: Vladimir Oltean <olteanv@gmail.com>
Date: Wed,  8 May 2019 23:32:25 +0300

> Dan Carpenter says:
> 
> The patch 640f763f98c2: "net: dsa: sja1105: Add support for Spanning
> Tree Protocol" from May 5, 2019, leads to the following static
> checker warning:
> 
>         drivers/net/dsa/sja1105/sja1105_main.c:1073 sja1105_stp_state_get()
>         warn: signedness bug returning '(-22)'
> 
> The caller doesn't check for negative errors anyway.
> 
> Fixes: 640f763f98c2: ("net: dsa: sja1105: Add support for Spanning Tree Protocol")
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
> Signed-off-by: Vladimir Oltean <olteanv@gmail.com>

Applied.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-05-08 20:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-08 20:32 [PATCH] net: dsa: sja1105: Don't return a negative in u8 sja1105_stp_state_get Vladimir Oltean
2019-05-08 20:58 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox