Commit 040f3119 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

soc/fsl: qbman: fix conflicting alignment attributes



When building with W=1, gcc points out that the __packed attribute
on struct qm_eqcr_entry conflicts with the 8-byte alignment
attribute on struct qm_fd inside it:

drivers/soc/fsl/qbman/qman.c:189:1: error: alignment 1 of 'struct qm_eqcr_entry' is less than 8 [-Werror=packed-not-aligned]

I assume that the alignment attribute is the correct one, and
that qm_eqcr_entry cannot actually be unaligned in memory,
so add the same alignment on the outer struct.

Fixes: c535e923 ("soc/fsl: Introduce DPAA 1.x QMan device driver")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20210323131530.2619900-1-arnd@kernel.org

'
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 844b85dd
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -186,7 +186,7 @@ struct qm_eqcr_entry {
	__be32 tag;
	struct qm_fd fd;
	u8 __reserved3[32];
} __packed;
} __packed __aligned(8);
#define QM_EQCR_VERB_VBIT		0x80
#define QM_EQCR_VERB_CMD_MASK		0x61	/* but only one value; */
#define QM_EQCR_VERB_CMD_ENQUEUE	0x01