diff options
Diffstat (limited to 'net/mac80211/mesh_pathtbl.c')
| -rw-r--r-- | net/mac80211/mesh_pathtbl.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index 89aacfd2756..cf032a8db9d 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c @@ -287,8 +287,10 @@ static void mesh_path_move_to_queue(struct mesh_path *gate_mpath,  	struct sk_buff_head failq;  	unsigned long flags; -	BUG_ON(gate_mpath == from_mpath); -	BUG_ON(!gate_mpath->next_hop); +	if (WARN_ON(gate_mpath == from_mpath)) +		return; +	if (WARN_ON(!gate_mpath->next_hop)) +		return;  	__skb_queue_head_init(&failq); @@ -722,7 +724,6 @@ void mesh_plink_broken(struct sta_info *sta)  	struct mpath_node *node;  	struct ieee80211_sub_if_data *sdata = sta->sdata;  	int i; -	__le16 reason = cpu_to_le16(WLAN_REASON_MESH_PATH_DEST_UNREACHABLE);  	rcu_read_lock();  	tbl = rcu_dereference(mesh_paths); @@ -736,9 +737,9 @@ void mesh_plink_broken(struct sta_info *sta)  			++mpath->sn;  			spin_unlock_bh(&mpath->state_lock);  			mesh_path_error_tx(sdata, -					   sdata->u.mesh.mshcfg.element_ttl, -					   mpath->dst, cpu_to_le32(mpath->sn), -					   reason, bcast); +				sdata->u.mesh.mshcfg.element_ttl, +				mpath->dst, mpath->sn, +				WLAN_REASON_MESH_PATH_DEST_UNREACHABLE, bcast);  		}  	}  	rcu_read_unlock();  | 
