On 2020-06-09 00:30, Daniel Wagner wrote: > Hi Bart, > > On Mon, Jun 08, 2020 at 09:14:03PM -0700, Bart Van Assche wrote: >> diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h >> index 42dbf90d4651..edc9c082dc6e 100644 >> --- a/drivers/scsi/qla2xxx/qla_def.h >> +++ b/drivers/scsi/qla2xxx/qla_def.h >> @@ -46,7 +46,7 @@ typedef struct { >> uint8_t al_pa; >> uint8_t area; >> uint8_t domain; >> -} le_id_t; >> +} __packed le_id_t; >> >> #include "qla_bsg.h" >> #include "qla_dsd.h" >> @@ -1841,8 +1841,8 @@ typedef union { >> struct { >> uint8_t reserved; >> uint8_t standard; >> - } id; >> -} target_id_t; >> + } __packed id; >> +} __packed target_id_t; > > This is a bit strange. Why is that only these two definitions need this > treatment? With gcc 6.3.0 on Debian stretch, the compiler did the > right thing for x86_64, ARMv7 and ARMv8. In all cases target_id_t is 2 bytes > long. Hi Daniel, That's a good catch. I checked again and the __packed annotations for target_id_t are not necessary. I will send a v2 of this patch. Thanks, Bart.