diff options
Diffstat (limited to 'drivers/net/team/team.c')
-rw-r--r-- | drivers/net/team/team.c | 15 |
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 | ||
2518 | send_event: | 2525 | send_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 | ||