mwl8k: fix alignment constraints
authorArnd Bergmann <arnd@arndb.de>
Thu, 4 Feb 2021 16:28:04 +0000 (17:28 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 8 Feb 2021 11:23:07 +0000 (13:23 +0200)
sturct mwl8k_dma_data contains a ieee80211_hdr structure, which is required to
have at least two byte alignment, and this conflicts with the __packed
attribute:

vers/net/wireless/marvell/mwl8k.c:811:1: warning: alignment 1 of 'struct mwl8k_dma_data' is less than 2 [-Wpacked-not-aligned]

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

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210204162813.3159319-1-arnd@kernel.org
drivers/net/wireless/marvell/mwl8k.c

index 435ef77227abfac911d50acb7976e7f6d4f02469..c9f8c056aa517da3a29d7b36b57d2f88af8210af 100644 (file)
@@ -808,7 +808,7 @@ struct mwl8k_dma_data {
        __le16 fwlen;
        struct ieee80211_hdr wh;
        char data[];
-} __packed;
+} __packed __aligned(2);
 
 /* Routines to add/remove DMA header from skb.  */
 static inline void mwl8k_remove_dma_header(struct sk_buff *skb, __le16 qos)