diff options
Diffstat (limited to 'net/mac80211/cfg.c')
| -rw-r--r-- | net/mac80211/cfg.c | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index d41974aacf5..a58c0b649ba 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -1378,6 +1378,8 @@ static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop,  	else  		memset(next_hop, 0, ETH_ALEN); +	memset(pinfo, 0, sizeof(*pinfo)); +  	pinfo->generation = mesh_paths_generation;  	pinfo->filled = MPATH_INFO_FRAME_QLEN | @@ -1396,7 +1398,6 @@ static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop,  	pinfo->discovery_timeout =  			jiffies_to_msecs(mpath->discovery_timeout);  	pinfo->discovery_retries = mpath->discovery_retries; -	pinfo->flags = 0;  	if (mpath->flags & MESH_PATH_ACTIVE)  		pinfo->flags |= NL80211_MPATH_FLAG_ACTIVE;  	if (mpath->flags & MESH_PATH_RESOLVING) @@ -1405,10 +1406,8 @@ static void mpath_set_pinfo(struct mesh_path *mpath, u8 *next_hop,  		pinfo->flags |= NL80211_MPATH_FLAG_SN_VALID;  	if (mpath->flags & MESH_PATH_FIXED)  		pinfo->flags |= NL80211_MPATH_FLAG_FIXED; -	if (mpath->flags & MESH_PATH_RESOLVING) -		pinfo->flags |= NL80211_MPATH_FLAG_RESOLVING; - -	pinfo->flags = mpath->flags; +	if (mpath->flags & MESH_PATH_RESOLVED) +		pinfo->flags |= NL80211_MPATH_FLAG_RESOLVED;  }  static int ieee80211_get_mpath(struct wiphy *wiphy, struct net_device *dev,  |