Patch "soc/fsl: qbman: fix conflicting alignment attributes" has been added to the 4.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    soc/fsl: qbman: fix conflicting alignment attributes

to the 4.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     soc-fsl-qbman-fix-conflicting-alignment-attributes.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 54a2020d218dbbb311a2680aef5e94d4e8b01255
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Tue Mar 23 14:15:23 2021 +0100

    soc/fsl: qbman: fix conflicting alignment attributes
    
    [ Upstream commit 040f31196e8b2609613f399793b9225271b79471 ]
    
    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: c535e923bb97 ("soc/fsl: Introduce DPAA 1.x QMan device driver")
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Link: https://lore.kernel.org/r/20210323131530.2619900-1-arnd@xxxxxxxxxx'
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/soc/fsl/qbman/qman.c b/drivers/soc/fsl/qbman/qman.c
index 91f5c951850f..44463afb8015 100644
--- a/drivers/soc/fsl/qbman/qman.c
+++ b/drivers/soc/fsl/qbman/qman.c
@@ -146,7 +146,7 @@ struct qm_eqcr_entry {
 	u32 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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux