27 lines
923 B
Diff
27 lines
923 B
Diff
|
From: Felix Fietkau <nbd@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@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
|