aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/bridge/br_device.c1
-rw-r--r--net/bridge/br_private.h3
-rw-r--r--net/bridge/br_stp_if.c2
3 files changed, 1 insertions, 5 deletions
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index e1bc090bc00a..ba6fb2d60940 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -176,7 +176,6 @@ static int br_set_mac_address(struct net_device *dev, void *p)
176 br_fdb_change_mac_address(br, addr->sa_data); 176 br_fdb_change_mac_address(br, addr->sa_data);
177 br_stp_change_bridge_id(br, addr->sa_data); 177 br_stp_change_bridge_id(br, addr->sa_data);
178 } 178 }
179 br->flags |= BR_SET_MAC_ADDR;
180 spin_unlock_bh(&br->lock); 179 spin_unlock_bh(&br->lock);
181 180
182 return 0; 181 return 0;
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 711094aed41a..06e85d9c05aa 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -197,9 +197,6 @@ struct net_bridge
197 bool nf_call_ip6tables; 197 bool nf_call_ip6tables;
198 bool nf_call_arptables; 198 bool nf_call_arptables;
199#endif 199#endif
200 unsigned long flags;
201#define BR_SET_MAC_ADDR 0x00000001
202
203 u16 group_fwd_mask; 200 u16 group_fwd_mask;
204 201
205 /* STP */ 202 /* STP */
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 7b5197c7de13..0bdb4ebd362b 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -216,7 +216,7 @@ bool br_stp_recalculate_bridge_id(struct net_bridge *br)
216 struct net_bridge_port *p; 216 struct net_bridge_port *p;
217 217
218 /* user has chosen a value so keep it */ 218 /* user has chosen a value so keep it */
219 if (br->flags & BR_SET_MAC_ADDR) 219 if (br->dev->addr_assign_type == NET_ADDR_SET)
220 return false; 220 return false;
221 221
222 list_for_each_entry(p, &br->port_list, list) { 222 list_for_each_entry(p, &br->port_list, list) {