compat-wireless: disable SKB TX status stamping in mac80211
authorJohannes Berg <johannes.berg@intel.com>
Mon, 14 Nov 2011 16:14:49 +0000 (17:14 +0100)
committerLuis R. Rodriguez <mcgrof@qca.qualcomm.com>
Mon, 14 Nov 2011 20:38:06 +0000 (12:38 -0800)
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
patches/12-mac80211-disable-tx-status.patch [new file with mode: 0644]

diff --git a/patches/12-mac80211-disable-tx-status.patch b/patches/12-mac80211-disable-tx-status.patch
new file mode 100644 (file)
index 0000000..522cb8c
--- /dev/null
@@ -0,0 +1,24 @@
+We can't possibly backport the wifi TX status since
+skb_shinfo()->tx_flags used to be a union and there
+is no way to make the & work properly in that case.
+So we need to just ifdef this part out.
+
+
+--- a/net/mac80211/tx.c        2011-11-14 16:46:04.000000000 +0100
++++ b/net/mac80211/tx.c        2011-11-14 17:04:09.000000000 +0100
+@@ -1915,6 +1915,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+               goto fail;
+       }
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
+       if (unlikely(!multicast && skb->sk &&
+                    skb_shinfo(skb)->tx_flags & SKBTX_WIFI_STATUS)) {
+               struct sk_buff *orig_skb = skb;
+@@ -1953,6 +1954,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s
+                       skb = orig_skb;
+               }
+       }
++#endif
+       /*
+        * If the skb is shared we need to obtain our own copy.