aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/team/team.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/team/team.c')
-rw-r--r--drivers/net/team/team.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
index c8a3f108dc94..b4f67b55ef79 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
@@ -989,6 +989,13 @@ static int team_port_add(struct team *team, struct net_device *port_dev)
989 return -EBUSY; 989 return -EBUSY;
990 } 990 }
991 991
992 if (port_dev->features & NETIF_F_VLAN_CHALLENGED &&
993 vlan_uses_dev(dev)) {
994 netdev_err(dev, "Device %s is VLAN challenged and team device has VLAN set up\n",
995 portname);
996 return -EPERM;
997 }
998
992 err = team_dev_type_check_change(dev, port_dev); 999 err = team_dev_type_check_change(dev, port_dev);
993 if (err) 1000 if (err)
994 return err; 1001 return err;
@@ -2486,7 +2493,7 @@ static void __team_options_change_check(struct team *team)
2486 list_add_tail(&opt_inst->tmp_list, &sel_opt_inst_list); 2493 list_add_tail(&opt_inst->tmp_list, &sel_opt_inst_list);
2487 } 2494 }
2488 err = team_nl_send_event_options_get(team, &sel_opt_inst_list); 2495 err = team_nl_send_event_options_get(team, &sel_opt_inst_list);
2489 if (err) 2496 if (err && err != -ESRCH)
2490 netdev_warn(team->dev, "Failed to send options change via netlink (err %d)\n", 2497 netdev_warn(team->dev, "Failed to send options change via netlink (err %d)\n",
2491 err); 2498 err);
2492} 2499}
@@ -2517,9 +2524,9 @@ static void __team_port_change_check(struct team_port *port, bool linkup)
2517 2524
2518send_event: 2525send_event:
2519 err = team_nl_send_event_port_list_get(port->team); 2526 err = team_nl_send_event_port_list_get(port->team);
2520 if (err) 2527 if (err && err != -ESRCH)
2521 netdev_warn(port->team->dev, "Failed to send port change of device %s via netlink\n", 2528 netdev_warn(port->team->dev, "Failed to send port change of device %s via netlink (err %d)\n",
2522 port->dev->name); 2529 port->dev->name, err);
2523 2530
2524} 2531}
2525 2532