summary refs log tree commit diff
path: root/net/wireless
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-02-02 14:39:08 +0100
committerJohannes Berg <johannes.berg@intel.com>2016-02-24 09:04:33 +0100
commit88665f5a797a832ff7926ad2287ee41738bc09b9 (patch)
treeef3d53d5b3235177a8eabc6ee4b523c9f64bf7ac /net/wireless
parentea32f065bd3e3e09f0bcb3042f1664caf6b3e233 (diff)
downloadlinux-88665f5a797a832ff7926ad2287ee41738bc09b9.tar.gz
mac80211: move A-MSDU skb_linearize call to ieee80211_amsdu_to_8023s
Prepararation for zero-copy A-MSDU support with page fragment SKBs

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/util.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c
index 92770427b211..6a407699a900 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -657,6 +657,9 @@ void ieee80211_amsdu_to_8023s(struct sk_buff *skb, struct sk_buff_head *list,
 	int remaining, err;
 	u8 dst[ETH_ALEN], src[ETH_ALEN];
 
+	if (skb_linearize(skb))
+		goto out;
+
 	if (has_80211_header) {
 		err = ieee80211_data_to_8023(skb, addr, iftype);
 		if (err)