提交 774d977a 编写于 作者: T Tom Rix 提交者: 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: NTom Rix <trix@redhat.com>
Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册