mirror of https://gitee.com/openkylin/linux.git
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 (5fc889911a
)
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0e376bd0b7
commit
403f43c937
|
@ -29,8 +29,8 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb)
|
|||
if (last) {
|
||||
skb2 = skb_clone(skb, GFP_ATOMIC);
|
||||
if (skb2) {
|
||||
ret = team_dev_queue_xmit(team, last,
|
||||
skb2);
|
||||
ret = !team_dev_queue_xmit(team, last,
|
||||
skb2);
|
||||
if (!sum_ret)
|
||||
sum_ret = ret;
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ static bool bc_transmit(struct team *team, struct sk_buff *skb)
|
|||
}
|
||||
}
|
||||
if (last) {
|
||||
ret = team_dev_queue_xmit(team, last, skb);
|
||||
ret = !team_dev_queue_xmit(team, last, skb);
|
||||
if (!sum_ret)
|
||||
sum_ret = ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue