diff options
Diffstat (limited to 'net/mac80211/mesh_pathtbl.c')
| -rw-r--r-- | net/mac80211/mesh_pathtbl.c | 8 | 
1 files changed, 1 insertions, 7 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c index bec7b281b5b..b819d6b847d 100644 --- a/net/mac80211/mesh_pathtbl.c +++ b/net/mac80211/mesh_pathtbl.c @@ -203,23 +203,17 @@ void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta)  {  	struct sk_buff *skb;  	struct ieee80211_hdr *hdr; -	struct sk_buff_head tmpq;  	unsigned long flags;  	rcu_assign_pointer(mpath->next_hop, sta); -	__skb_queue_head_init(&tmpq); -  	spin_lock_irqsave(&mpath->frame_queue.lock, flags); - -	while ((skb = __skb_dequeue(&mpath->frame_queue)) != NULL) { +	skb_queue_walk(&mpath->frame_queue, skb) {  		hdr = (struct ieee80211_hdr *) skb->data;  		memcpy(hdr->addr1, sta->sta.addr, ETH_ALEN);  		memcpy(hdr->addr2, mpath->sdata->vif.addr, ETH_ALEN); -		__skb_queue_tail(&tmpq, skb);  	} -	skb_queue_splice(&tmpq, &mpath->frame_queue);  	spin_unlock_irqrestore(&mpath->frame_queue.lock, flags);  }  |