diff options
Diffstat (limited to 'net/dsa')
| -rw-r--r-- | net/dsa/port.c | 7 | ||||
| -rw-r--r-- | net/dsa/switch.c | 1 | 
2 files changed, 5 insertions, 3 deletions
| diff --git a/net/dsa/port.c b/net/dsa/port.c index 3738f2d40a0b..2dd76eb1621c 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -248,6 +248,7 @@ static void dsa_port_reset_vlan_filtering(struct dsa_port *dp,  	struct netlink_ext_ack extack = {0};  	bool change_vlan_filtering = false;  	struct dsa_switch *ds = dp->ds; +	struct dsa_port *other_dp;  	bool vlan_filtering;  	int err; @@ -270,8 +271,8 @@ static void dsa_port_reset_vlan_filtering(struct dsa_port *dp,  	 * VLAN-aware bridge.  	 */  	if (change_vlan_filtering && ds->vlan_filtering_is_global) { -		dsa_switch_for_each_port(dp, ds) { -			struct net_device *br = dsa_port_bridge_dev_get(dp); +		dsa_switch_for_each_port(other_dp, ds) { +			struct net_device *br = dsa_port_bridge_dev_get(other_dp);  			if (br && br_vlan_enabled(br)) {  				change_vlan_filtering = false; @@ -799,7 +800,7 @@ int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,  		ds->vlan_filtering = vlan_filtering;  		dsa_switch_for_each_user_port(other_dp, ds) { -			struct net_device *slave = dp->slave; +			struct net_device *slave = other_dp->slave;  			/* We might be called in the unbind path, so not  			 * all slave devices might still be registered. diff --git a/net/dsa/switch.c b/net/dsa/switch.c index 2b56218fc57c..4dfd68cf61c5 100644 --- a/net/dsa/switch.c +++ b/net/dsa/switch.c @@ -344,6 +344,7 @@ static int dsa_switch_do_lag_fdb_add(struct dsa_switch *ds, struct dsa_lag *lag,  	ether_addr_copy(a->addr, addr);  	a->vid = vid; +	a->db = db;  	refcount_set(&a->refcount, 1);  	list_add_tail(&a->list, &lag->fdbs); |