diff options
Diffstat (limited to 'net/mac80211/mesh_pathtbl.c')
| -rw-r--r-- | net/mac80211/mesh_pathtbl.c | 27 | 
1 files changed, 0 insertions, 27 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index 4c50d8ade04..edf167e3b8f 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c @@ -973,38 +973,11 @@ int mesh_path_send_to_gates(struct mesh_path *mpath)   * @skb: frame to discard   * @sdata: network subif the frame was to be sent through   * - * If the frame was being forwarded from another MP, a PERR frame will be sent - * to the precursor.  The precursor's address (i.e. the previous hop) was saved - * in addr1 of the frame-to-be-forwarded, and would only be overwritten once - * the destination is successfully resolved. - *   * Locking: the function must me called within a rcu_read_lock region   */  void mesh_path_discard_frame(struct sk_buff *skb,  			     struct ieee80211_sub_if_data *sdata)  { -	struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; -	struct mesh_path *mpath; -	u32 sn = 0; -	__le16 reason = cpu_to_le16(WLAN_REASON_MESH_PATH_NOFORWARD); - -	if (memcmp(hdr->addr4, sdata->vif.addr, ETH_ALEN) != 0) { -		u8 *ra, *da; - -		da = hdr->addr3; -		ra = hdr->addr2; -		rcu_read_lock(); -		mpath = mesh_path_lookup(da, sdata); -		if (mpath) { -			spin_lock_bh(&mpath->state_lock); -			sn = ++mpath->sn; -			spin_unlock_bh(&mpath->state_lock); -		} -		rcu_read_unlock(); -		mesh_path_error_tx(sdata->u.mesh.mshcfg.element_ttl, da, -				   cpu_to_le32(sn), reason, ra, sdata); -	} -  	kfree_skb(skb);  	sdata->u.mesh.mshstats.dropped_frames_no_route++;  }  |