* [bug report] net: dsa: qca8k: add support for switch rev
@ 2021-05-19 8:31 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2021-05-19 8:31 UTC (permalink / raw)
To: ansuelsmth; +Cc: kernel-janitors
Hello Ansuel Smith,
The patch 95ffeaf18b3b: "net: dsa: qca8k: add support for switch rev"
from May 14, 2021, leads to the following static checker warning:
drivers/net/dsa/qca8k.c:163 qca8k_read() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:212 qca8k_rmw() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:309 qca8k_busy_wait() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:324 qca8k_fdb_read() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:400 qca8k_fdb_access() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:481 qca8k_vlan_access() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:509 qca8k_vlan_add() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:544 qca8k_vlan_del() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:648 qca8k_mdio_busy_wait() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:1315 qca8k_phylink_mac_link_state() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:1425 qca8k_get_ethtool_stats() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:1430 qca8k_get_ethtool_stats() warn: unsigned 'hi' is never less than zero.
drivers/net/dsa/qca8k.c:1459 qca8k_set_mac_eee() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:1799 qca8k_read_switch_id() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:732 qca8k_mdio_read() warn: always true condition '(val >= 0) => (0-u32max >= 0)'
drivers/net/dsa/qca8k.c
151 static u32
^^^
This is a unsigned, but the callers expect int. Which is harmless but
kind of messy.
152 qca8k_read(struct qca8k_priv *priv, u32 reg)
153 {
154 struct mii_bus *bus = priv->bus;
155 u16 r1, r2, page;
156 u32 val;
157
158 qca8k_split_addr(reg, &r1, &r2, &page);
159
160 mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
161
162 val = qca8k_set_page(bus, page);
163 if (val < 0)
Obviously unsigned can't be less than zero.
164 goto exit;
165
166 val = qca8k_mii_read32(bus, 0x10 | r2, r1);
How high can this be? In real life I expect that it's fine and there
are few times where we actually need to go over INT_MAX (2 million
should be enough for anybody), but it might be better to not mix this
with error codes?
167
168 exit:
169 mutex_unlock(&bus->mdio_lock);
170 return val;
171 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-19 8:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-19 8:31 [bug report] net: dsa: qca8k: add support for switch rev Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.