diff options
| -rw-r--r-- | drivers/net/team/team.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index 7c43261975bd..d016a76ad44b 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c | |||
| @@ -2374,7 +2374,8 @@ static int team_nl_send_port_list_get(struct team *team, u32 portid, u32 seq, | |||
| 2374 | bool incomplete; | 2374 | bool incomplete; |
| 2375 | int i; | 2375 | int i; |
| 2376 | 2376 | ||
| 2377 | port = list_first_entry(&team->port_list, struct team_port, list); | 2377 | port = list_first_entry_or_null(&team->port_list, |
| 2378 | struct team_port, list); | ||
| 2378 | 2379 | ||
| 2379 | start_again: | 2380 | start_again: |
| 2380 | err = __send_and_alloc_skb(&skb, team, portid, send_func); | 2381 | err = __send_and_alloc_skb(&skb, team, portid, send_func); |
| @@ -2402,8 +2403,8 @@ start_again: | |||
| 2402 | err = team_nl_fill_one_port_get(skb, one_port); | 2403 | err = team_nl_fill_one_port_get(skb, one_port); |
| 2403 | if (err) | 2404 | if (err) |
| 2404 | goto errout; | 2405 | goto errout; |
| 2405 | } else { | 2406 | } else if (port) { |
| 2406 | list_for_each_entry(port, &team->port_list, list) { | 2407 | list_for_each_entry_from(port, &team->port_list, list) { |
| 2407 | err = team_nl_fill_one_port_get(skb, port); | 2408 | err = team_nl_fill_one_port_get(skb, port); |
| 2408 | if (err) { | 2409 | if (err) { |
| 2409 | if (err == -EMSGSIZE) { | 2410 | if (err == -EMSGSIZE) { |
