aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/300-arm_alignment_fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/300-arm_alignment_fix.patch')
-rw-r--r--package/mac80211/patches/300-arm_alignment_fix.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-arm_alignment_fix.patch b/package/mac80211/patches/300-arm_alignment_fix.patch
new file mode 100644
index 0000000000..1de5ed48e4
--- /dev/null
+++ b/package/mac80211/patches/300-arm_alignment_fix.patch
@@ -0,0 +1,21 @@
+On ARM alignment is done slightly different from other architectures.
+struct ieee80211_tx_rate is aligned to word size, even though it only has 3
+single-byte members, which triggers the BUILD_BUG_ON in
+ieee80211_tx_info_clear_status
+
+This patch marks the struct ieee80211_tx_rate as packed, so that ARM
+behaves like the other architectures.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -299,7 +299,7 @@ struct ieee80211_tx_rate {
+ s8 idx;
+ u8 count;
+ u8 flags;
+-};
++} __attribute__((packed));
+
+ /**
+ * struct ieee80211_tx_info - skb transmit information