summaryrefslogtreecommitdiff
path: root/net/batman-adv/bridge_loop_avoidance.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-17 11:57:00 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-17 11:57:00 -0700
commit72992bc1fdbb7d6f5ede60e02fee87e81ef98ace (patch)
treea24b6da35edd7b4a254a0ec920817c12da862bb0 /net/batman-adv/bridge_loop_avoidance.c
parentbad15f2c386d9978ffb5c555e7b10543ff9b4beb (diff)
parent7d132055814ef17a6c7b69f342244c410a5e000f (diff)
downloadlwn-72992bc1fdbb7d6f5ede60e02fee87e81ef98ace.tar.gz
lwn-72992bc1fdbb7d6f5ede60e02fee87e81ef98ace.zip
Merge 3.10-rc6 into staging-next
We want the fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/batman-adv/bridge_loop_avoidance.c')
-rw-r--r--net/batman-adv/bridge_loop_avoidance.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/batman-adv/bridge_loop_avoidance.c b/net/batman-adv/bridge_loop_avoidance.c
index 379061c72549..de27b3175cfd 100644
--- a/net/batman-adv/bridge_loop_avoidance.c
+++ b/net/batman-adv/bridge_loop_avoidance.c
@@ -1067,6 +1067,10 @@ void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
group = htons(crc16(0, primary_if->net_dev->dev_addr, ETH_ALEN));
bat_priv->bla.claim_dest.group = group;
+ /* purge everything when bridge loop avoidance is turned off */
+ if (!atomic_read(&bat_priv->bridge_loop_avoidance))
+ oldif = NULL;
+
if (!oldif) {
batadv_bla_purge_claims(bat_priv, NULL, 1);
batadv_bla_purge_backbone_gw(bat_priv, 1);