Commit 774d977a authored by Tom Rix's avatar Tom Rix Committed by David S. Miller

net: dsa: b53: check for timeout

clang static analysis reports this problem

b53_common.c:1583:13: warning: The left expression of the compound
  assignment is an uninitialized value. The computed value will
  also be garbage
        ent.port &= ~BIT(port);
        ~~~~~~~~ ^

ent is set by a successful call to b53_arl_read().  Unsuccessful
calls are caught by an switch statement handling specific returns.
b32_arl_read() calls b53_arl_op_wait() which fails with the
unhandled -ETIMEDOUT.

So add -ETIMEDOUT to the switch statement.  Because
b53_arl_op_wait() already prints out a message, do not add another
one.

Fixes: 1da6df85 ("net: dsa: b53: Implement ARL add/del/dump operations")
Signed-off-by: default avatarTom Rix <trix@redhat.com>
Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f6db9096
...@@ -1554,6 +1554,8 @@ static int b53_arl_op(struct b53_device *dev, int op, int port, ...@@ -1554,6 +1554,8 @@ static int b53_arl_op(struct b53_device *dev, int op, int port,
return ret; return ret;
switch (ret) { switch (ret) {
case -ETIMEDOUT:
return ret;
case -ENOSPC: case -ENOSPC:
dev_dbg(dev->dev, "{%pM,%.4d} no space left in ARL\n", dev_dbg(dev->dev, "{%pM,%.4d} no space left in ARL\n",
addr, vid); addr, vid);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment