提交 403f43c9 编写于 作者: J Jiri Pirko 提交者: David S. Miller

team: bcast: convert return value of team_dev_queue_xmit() to bool correctly

The thing is that team_dev_queue_xmit() returns NET_XMIT_* or -E*.
bc_trasmit() should return true in case all went well. So use ! to get
correct retval from team_dev_queue_xmit() result.
This bug caused iface statistics to be badly computed.

This bug was introduced by:
team: add broadcast mode (5fc88991)
Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: NJiri Pirko <jiri@resnulli.us>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 0e376bd0
...@@ -29,8 +29,8 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb) ...@@ -29,8 +29,8 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb)
if (last) { if (last) {
skb2 = skb_clone(skb, GFP_ATOMIC); skb2 = skb_clone(skb, GFP_ATOMIC);
if (skb2) { if (skb2) {
ret = team_dev_queue_xmit(team, last, ret = !team_dev_queue_xmit(team, last,
skb2); skb2);
if (!sum_ret) if (!sum_ret)
sum_ret = ret; sum_ret = ret;
} }
...@@ -39,7 +39,7 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb) ...@@ -39,7 +39,7 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb)
} }
} }
if (last) { if (last) {
ret = team_dev_queue_xmit(team, last, skb); ret = !team_dev_queue_xmit(team, last, skb);
if (!sum_ret) if (!sum_ret)
sum_ret = ret; sum_ret = ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册