提交 4d196e4b 编写于 作者: F Felix Fietkau 提交者: John W. Linville

mac80211: use 16 bit alignment for the if_ibss bssid field

Several MAC address comparison functions assume 16 bit alignment for pointers
passed to them. Since the addition of the control_port field, alignment
for the IBSS bssid was off by one, causing a severe performance hit on
architectures without efficient unaligned access (e.g. MIPS).
Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
Acked-by: NJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 380aeef8
...@@ -480,7 +480,7 @@ struct ieee80211_if_ibss { ...@@ -480,7 +480,7 @@ struct ieee80211_if_ibss {
bool control_port; bool control_port;
u8 bssid[ETH_ALEN]; u8 bssid[ETH_ALEN] __aligned(2);
u8 ssid[IEEE80211_MAX_SSID_LEN]; u8 ssid[IEEE80211_MAX_SSID_LEN];
u8 ssid_len, ie_len; u8 ssid_len, ie_len;
u8 *ie; u8 *ie;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册