diff options
Diffstat (limited to 'drivers/net/team/team.c')
| -rw-r--r-- | drivers/net/team/team.c | 12 | 
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index f7ff493f1e73..0e62274e884a 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -28,6 +28,7 @@  #include <net/genetlink.h>  #include <net/netlink.h>  #include <net/sch_generic.h> +#include <net/switchdev.h>  #include <generated/utsrelease.h>  #include <linux/if_team.h> @@ -176,7 +177,6 @@ static int __team_option_inst_add(struct team *team, struct team_option *option,  static int __team_option_inst_add_option(struct team *team,  					 struct team_option *option)  { -	struct team_port *port;  	int err;  	if (!option->per_port) { @@ -184,12 +184,6 @@ static int __team_option_inst_add_option(struct team *team,  		if (err)  			goto inst_del_option;  	} - -	list_for_each_entry(port, &team->port_list, list) { -		err = __team_option_inst_add(team, option, port); -		if (err) -			goto inst_del_option; -	}  	return 0;  inst_del_option: @@ -1932,7 +1926,7 @@ static netdev_features_t team_fix_features(struct net_device *dev,  	struct team *team = netdev_priv(dev);  	netdev_features_t mask; -	mask = features; +	mask = features | NETIF_F_HW_SWITCH_OFFLOAD;  	features &= ~NETIF_F_ONE_FOR_ALL;  	features |= NETIF_F_ALL_FOR_ALL; @@ -1982,6 +1976,8 @@ static const struct net_device_ops team_netdev_ops = {  	.ndo_del_slave		= team_del_slave,  	.ndo_fix_features	= team_fix_features,  	.ndo_change_carrier     = team_change_carrier, +	.ndo_bridge_setlink     = ndo_dflt_netdev_switch_port_bridge_setlink, +	.ndo_bridge_dellink     = ndo_dflt_netdev_switch_port_bridge_dellink,  };  /***********************  | 

