OSDN Git Service

can: ucan: fix alignment constraints
authorArnd Bergmann <arnd@arndb.de>
Thu, 4 Feb 2021 16:26:13 +0000 (17:26 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 30 Mar 2021 09:14:46 +0000 (11:14 +0200)
struct ucan_message_in contains member with 4-byte alignment
but is itself marked as unaligned, which triggers a warning:

drivers/net/can/usb/ucan.c:249:1: warning: alignment 1 of 'struct ucan_message_in' is less than 4 [-Wpacked-not-aligned]

Mark the outer structure to have the same alignment as the inner
one.

Link: https://lore.kernel.org/r/20210204162625.3099392-1-arnd@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/usb/ucan.c

index 11fdded..1679cbe 100644 (file)
@@ -246,7 +246,7 @@ struct ucan_message_in {
                 */
                struct ucan_tx_complete_entry_t can_tx_complete_msg[0];
        } __aligned(0x4) msg;
-} __packed;
+} __packed __aligned(0x4);
 
 /* Macros to calculate message lengths */
 #define UCAN_OUT_HDR_SIZE offsetof(struct ucan_message_out, msg)