The first member of struct tcan4x5x_map_buf is the struct tcan4x5x_buf_cmd, which has a size of 4 bytes. It's followed by an array of u8. The compiler places the array directly after the struct tcan4x5x_buf_cmd. This patch removes the not needed attribute __packed from the struct tcan4x5x_map_buf. Suggested-by: Jakub Kicinski <kuba@xxxxxxxxxx> Link: https://lore.kernel.org/r/20210113203955.912916-1-mkl@xxxxxxxxxxxxxx Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> --- drivers/net/can/m_can/tcan4x5x.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/can/m_can/tcan4x5x.h b/drivers/net/can/m_can/tcan4x5x.h index 7bf264f8e81f..c66da829b795 100644 --- a/drivers/net/can/m_can/tcan4x5x.h +++ b/drivers/net/can/m_can/tcan4x5x.h @@ -25,7 +25,7 @@ struct __packed tcan4x5x_buf_cmd { u8 len; }; -struct __packed tcan4x5x_map_buf { +struct tcan4x5x_map_buf { struct tcan4x5x_buf_cmd cmd; u8 data[256 * sizeof(u32)]; } ____cacheline_aligned; -- 2.29.2