Fix an alignment issue in iwx(4) Rx descriptors.
authorstsp <stsp@openbsd.org>
Mon, 13 Feb 2023 15:50:06 +0000 (15:50 +0000)
committerstsp <stsp@openbsd.org>
Mon, 13 Feb 2023 15:50:06 +0000 (15:50 +0000)
commit3a753e3fb00c362056a609248469dbb14e50ab4b
tree51612fb8930dffd5efb98ae9b63449ecd9e69134
parent0b0de914575054557688d9b4a499a30cdd6c762d
Fix an alignment issue in iwx(4) Rx descriptors.

Split a 64-bit field, aligned at a 4-byte boundary, into two 32 bit fields.
Our driver does not use this field. Its definition does not matter to us,
as long as its size remains correct.

Fixes clang-15 warnings, which turn into compilation errors with -Werror.

Reported by, and ok tb@

Relevant clang 15 errors are:

In file included from /sys/dev/pci/if_iwx.c:151:
/sys/dev/pci/if_iwxreg.h:3659:2: error: field  within 'struct iwx_rx_mpdu_desc_v1' is less aligned than 'union iwx_rx_mpdu_desc_v1::(anonymous at /sys/dev/pci/if_iwxreg.h:3659:2)' and is usually due to 'struct iwx_rx_mpdu_desc_v1' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access]
        union {
        ^
/sys/dev/pci/if_iwxreg.h:3626:2: error: field  within 'struct iwx_rx_mpdu_desc_v3' is less aligned than 'union iwx_rx_mpdu_desc_v3::(anonymous at /sys/dev/pci/if_iwxreg.h:3626:2)' and is usually due to 'struct iwx_rx_mpdu_desc_v3' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access]
        union {
        ^
2 errors generated.
sys/dev/pci/if_iwxreg.h