diff mbox series

brcm80211: fix alignment constraints

Message ID 20210204162852.3219572-1-arnd@kernel.org (mailing list archive)
State Accepted
Commit 38eb712ada24d3ee3fcf02e0941c03bcb437f1e2
Delegated to: Kalle Valo
Headers show
Series brcm80211: fix alignment constraints | expand

Commit Message

Arnd Bergmann Feb. 4, 2021, 4:28 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

sturct d11txh contains a ieee80211_rts structure, which is required to
have at least two byte alignment, and this conflicts with the __packed
attribute:

drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of 'struct d11txh' is less than 2 [-Wpacked-not-aligned]

Mark d11txh itself as having two-byte alignment to ensure the
inner structure is properly aligned.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Kalle Valo Feb. 8, 2021, 11:03 a.m. UTC | #1
Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> sturct d11txh contains a ieee80211_rts structure, which is required to
> have at least two byte alignment, and this conflicts with the __packed
> attribute:
> 
> drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of 'struct d11txh' is less than 2 [-Wpacked-not-aligned]
> 
> Mark d11txh itself as having two-byte alignment to ensure the
> inner structure is properly aligned.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Patch applied to wireless-drivers-next.git, thanks.

38eb712ada24 brcmsmac: fix alignment constraints
diff mbox series

Patch

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h
index 9035cc4d6ff3..7870093629c3 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h
@@ -783,7 +783,7 @@  struct d11txh {
 	u8 RTSPhyHeader[D11_PHY_HDR_LEN];	/* 0x2c - 0x2e */
 	struct ieee80211_rts rts_frame;	/* 0x2f - 0x36 */
 	u16 PAD;		/* 0x37 */
-} __packed;
+} __packed __aligned(2);
 
 #define	D11_TXH_LEN		112	/* bytes */