mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			20 lines
		
	
	
		
			520 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			520 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/net80211/ieee80211_input.c
 | |
| +++ b/net80211/ieee80211_input.c
 | |
| @@ -1275,14 +1275,8 @@ ieee80211_decap(struct ieee80211vap *vap
 | |
|  		eh->ether_type = ether_type;
 | |
|  
 | |
|  	if (!ALIGNED_POINTER(skb->data + sizeof(*eh), u_int32_t)) {
 | |
| -		struct sk_buff *tskb;
 | |
| -
 | |
| -		/* XXX: does this always work? */
 | |
| -		tskb = skb_copy(skb, GFP_ATOMIC);
 | |
| -		if (tskb)
 | |
| -			ieee80211_skb_copy_noderef(skb, tskb);
 | |
| -		ieee80211_dev_kfree_skb(&skb);
 | |
| -		skb = tskb;
 | |
| +		memmove(skb->data - 2, skb->data, skb->len);
 | |
| +		skb->data -= 2;
 | |
|  	}
 | |
|  	return skb;
 | |
|  }
 |