[openwrt/openwrt] mac80211: round up tx status headroom

LEDE Commits lede-commits at lists.infradead.org
Wed Feb 21 10:30:23 PST 2018


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/526921f20e9d40967d38b09c67d3247f4c6ddb39

commit 526921f20e9d40967d38b09c67d3247f4c6ddb39
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Sat Feb 10 13:26:42 2018 +0100

    mac80211: round up tx status headroom
    
    Fixes unaligned access exceptions in mt76 when transmitting beacons
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 ...und-IEEE80211_TX_STATUS_HEADROOM-up-to-mu.patch | 26 ++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/package/kernel/mac80211/patches/325-mac80211-round-IEEE80211_TX_STATUS_HEADROOM-up-to-mu.patch b/package/kernel/mac80211/patches/325-mac80211-round-IEEE80211_TX_STATUS_HEADROOM-up-to-mu.patch
new file mode 100644
index 0000000..56c0acc
--- /dev/null
+++ b/package/kernel/mac80211/patches/325-mac80211-round-IEEE80211_TX_STATUS_HEADROOM-up-to-mu.patch
@@ -0,0 +1,26 @@
+From: Felix Fietkau <nbd at nbd.name>
+Date: Fri, 9 Feb 2018 19:46:54 +0100
+Subject: [PATCH] mac80211: round IEEE80211_TX_STATUS_HEADROOM up to multiple
+ of 4
+
+This ensures that mac80211 allocated management frames are properly
+aligned, which makes copying them more efficient.
+For instance, mt76 uses iowrite32_copy to copy beacon frames to beacon
+template memory on the chip.
+Misaligned 32-bit accesses cause CPU exceptions on MIPS and should be
+avoided.
+
+Signed-off-by: Felix Fietkau <nbd at nbd.name>
+---
+
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -4149,7 +4149,7 @@ void ieee80211_sta_uapsd_trigger(struct
+  * The TX headroom reserved by mac80211 for its own tx_status functions.
+  * This is enough for the radiotap header.
+  */
+-#define IEEE80211_TX_STATUS_HEADROOM	14
++#define IEEE80211_TX_STATUS_HEADROOM	ALIGN(14, 4)
+ 
+ /**
+  * ieee80211_sta_set_buffered - inform mac80211 about driver-buffered frames



More information about the lede-commits mailing list