|
@@ -2374,7 +2374,8 @@ static int team_nl_send_port_list_get(struct team *team, u32 portid, u32 seq,
|
|
|
bool incomplete;
|
|
|
int i;
|
|
|
|
|
|
- port = list_first_entry(&team->port_list, struct team_port, list);
|
|
|
+ port = list_first_entry_or_null(&team->port_list,
|
|
|
+ struct team_port, list);
|
|
|
|
|
|
start_again:
|
|
|
err = __send_and_alloc_skb(&skb, team, portid, send_func);
|
|
@@ -2402,8 +2403,8 @@ start_again:
|
|
|
err = team_nl_fill_one_port_get(skb, one_port);
|
|
|
if (err)
|
|
|
goto errout;
|
|
|
- } else {
|
|
|
- list_for_each_entry(port, &team->port_list, list) {
|
|
|
+ } else if (port) {
|
|
|
+ list_for_each_entry_from(port, &team->port_list, list) {
|
|
|
err = team_nl_fill_one_port_get(skb, port);
|
|
|
if (err) {
|
|
|
if (err == -EMSGSIZE) {
|