]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: lpfc: Fix ELS field alignments
authorJames Smart <jsmart2021@gmail.com>
Wed, 14 Aug 2019 23:56:33 +0000 (16:56 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 20 Aug 2019 02:41:08 +0000 (22:41 -0400)
commitd22b2e88dc94560fb94e99ddd3d2d31ef8e4de5d
tree6e824a1165391db9e342148bbd84990e0dd3d53d
parentb94542062401958cb929ef7232cb9982c3eb07cd
scsi: lpfc: Fix ELS field alignments

After seeing some interoperability issues with ADISC, it was determined the
ELS definitions in lpfc were using types that allowed the compiler to add
pad to the structure, causing the structure to no longer be per spec. The
offending structures are ADISC, FAN, and RNID.

This patch implements the simple fix of eliminating the pad by forcing the
compiler to pack the structure. Care was taken to ensure field accesses
won't be by operations that would hit a bad field alignment.

The better solution would be to convert to the uapi fc header definitions,
but the number of changes required to do is rather intrusive so this course
of action was deferred.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_hw.h