On Mon, 2008-02-25 at 16:27 +0100, Johannes Berg wrote: > @@ -303,8 +300,8 @@ static void mesh_path_node_reclaim(struc > struct mpath_node *node = container_of(rp, struct mpath_node, rcu); > struct ieee80211_sub_if_data *sdata = > IEEE80211_DEV_TO_SUB_IF(node->mpath->dev); > - if (node->mpath->next_hop) > - sta_info_put(node->mpath->next_hop); > + > + rcu_assign_pointer(node->mpath->next_hop, NULL); Is that necessary? If we are here nobody else should have access to this path and we should just free it, right? Also since now we can force deletion, the mesh path timer might be running and we need a del_timer_sync() somewhere. After adding that, we may as well always force the path deletion. -- Luis Carlos Cobo Rus GnuPG ID: 44019B60 cozybit Inc. - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html