Skip to content

Commit 212457c

Browse files
arndbKalle Valo
authored andcommitted
wifi: b43: fix incorrect __packed annotation
clang warns about an unpacked structure inside of a packed one: drivers/net/wireless/broadcom/b43/b43.h:654:4: error: field data within 'struct b43_iv' is less aligned than 'union (unnamed union at /home/arnd/arm-soc/drivers/net/wireless/broadcom/b43/b43.h:651:2)' and is usually due to 'struct b43_iv' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access] The problem here is that the anonymous union has the default alignment from its members, apparently because the original author mixed up the placement of the __packed attribute by placing it next to the struct member rather than the union definition. As the struct itself is also marked as __packed, there is no need to mark its members, so just move the annotation to the inner type instead. As Michael noted, the same problem is present in b43legacy, so change both at the same time. Acked-by: Michael Büsch <[email protected]> Reported-by: kernel test robot <[email protected]> Reviewed-by: Simon Horman <[email protected]> Tested-by: Larry Finger <[email protected]> Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent cb0ddaa commit 212457c

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

drivers/net/wireless/broadcom/b43/b43.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -651,7 +651,7 @@ struct b43_iv {
651651
union {
652652
__be16 d16;
653653
__be32 d32;
654-
} data __packed;
654+
} __packed data;
655655
} __packed;
656656

657657

drivers/net/wireless/broadcom/b43legacy/b43legacy.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ struct b43legacy_iv {
379379
union {
380380
__be16 d16;
381381
__be32 d32;
382-
} data __packed;
382+
} __packed data;
383383
} __packed;
384384

385385
#define B43legacy_PHYMODE(phytype) (1 << (phytype))

0 commit comments

Comments
 (0)