[linux-next] LinuxNextTracking branch, master, updated. next-20110624

batman at open-mesh.org batman at open-mesh.org
Fri Jun 24 16:09:02 CEST 2011


The following commit has been merged in the master branch:
commit 1a241a57be46cda985c7c36e24d49f67de6bfb53
Author: Marek Lindner <lindner_marek at yahoo.de>
Date:   Wed Jan 19 19:16:10 2011 +0000

    batman-adv: free neighbors when an interface is deactivated
    
    hardif_disable_interface() calls purge_orig_ref() to immediately free
    all neighbors associated with the interface that is going down.
    purge_orig_neighbors() checked if the interface status is IF_INACTIVE
    which is set to IF_NOT_IN_USE shortly before calling purge_orig_ref().
    
    Signed-off-by: Marek Lindner <lindner_marek at yahoo.de>

diff --git a/net/batman-adv/originator.c b/net/batman-adv/originator.c
index 6cb9af3..899d494 100644
--- a/net/batman-adv/originator.c
+++ b/net/batman-adv/originator.c
@@ -224,10 +224,15 @@ static bool purge_orig_neighbors(struct bat_priv *bat_priv,
 		if ((time_after(jiffies,
 			neigh_node->last_valid + PURGE_TIMEOUT * HZ)) ||
 		    (neigh_node->if_incoming->if_status == IF_INACTIVE) ||
+		    (neigh_node->if_incoming->if_status == IF_NOT_IN_USE) ||
 		    (neigh_node->if_incoming->if_status == IF_TO_BE_REMOVED)) {
 
-			if (neigh_node->if_incoming->if_status ==
-							IF_TO_BE_REMOVED)
+			if ((neigh_node->if_incoming->if_status ==
+								IF_INACTIVE) ||
+			    (neigh_node->if_incoming->if_status ==
+							IF_NOT_IN_USE) ||
+			    (neigh_node->if_incoming->if_status ==
+							IF_TO_BE_REMOVED))
 				bat_dbg(DBG_BATMAN, bat_priv,
 					"neighbor purge: originator %pM, "
 					"neighbor: %pM, iface: %s\n",

-- 
LinuxNextTracking


More information about the linux-merge mailing list