aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/mac80211/tx.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 9e952e37b7df..0820f127da2b 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1487,7 +1487,20 @@ int ieee80211_subif_start_xmit(struct sk_buff *skb,
1487 nh_pos += encaps_len; 1487 nh_pos += encaps_len;
1488 h_pos += encaps_len; 1488 h_pos += encaps_len;
1489 } 1489 }
1490 memcpy(skb_push(skb, hdrlen), &hdr, hdrlen); 1490
1491 if (fc & IEEE80211_STYPE_QOS_DATA) {
1492 __le16 *qos_control;
1493
1494 qos_control = (__le16*) skb_push(skb, 2);
1495 memcpy(skb_push(skb, hdrlen - 2), &hdr, hdrlen - 2);
1496 /*
1497 * Maybe we could actually set some fields here, for now just
1498 * initialise to zero to indicate no special operation.
1499 */
1500 *qos_control = 0;
1501 } else
1502 memcpy(skb_push(skb, hdrlen), &hdr, hdrlen);
1503
1491 nh_pos += hdrlen; 1504 nh_pos += hdrlen;
1492 h_pos += hdrlen; 1505 h_pos += hdrlen;
1493 1506