2021-02-04 16:32:07

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] brcm80211: fix alignment constraints

From: Arnd Bergmann <[email protected]>

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 <[email protected]>
---
drivers/net/wireless/broadcom/brcm80211/brcmsmac/d11.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

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 */

--
2.29.2


2021-02-08 11:11:39

by Kalle Valo

[permalink] [raw]
Subject: Re: brcmsmac: fix alignment constraints

Arnd Bergmann <[email protected]> wrote:

> From: Arnd Bergmann <[email protected]>
>
> 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 <[email protected]>

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

38eb712ada24 brcmsmac: fix alignment constraints

--
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches