[U-Boot] [PATCH 2/2] PPC MPC83xx: Fix MPC8323ERDB build warning
Wolfgang Denk
wd at denx.de
Fri Jun 14 10:21:08 CEST 2013
Fix:
mpc8323erdb.c: In function 'mac_read_from_eeprom':
mpc8323erdb.c:198:3: warning: dereferencing type-punned pointer will
break strict-aliasing rules [-Wstrict-aliasing]
Signed-off-by: Wolfgang Denk <wd at denx.de>
cc: Michael Barkowski <michael.barkowski at freescale.com>
cc: Kim Phillips <kim.phillips at freescale.com>
---
board/freescale/mpc8323erdb/mpc8323erdb.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/board/freescale/mpc8323erdb/mpc8323erdb.c b/board/freescale/mpc8323erdb/mpc8323erdb.c
index f29b2f4..533cb08 100644
--- a/board/freescale/mpc8323erdb/mpc8323erdb.c
+++ b/board/freescale/mpc8323erdb/mpc8323erdb.c
@@ -195,7 +195,11 @@ int mac_read_from_eeprom(void)
printf("\nEEPROM @ 0x%02x read FAILED!!!\n",
CONFIG_SYS_I2C_EEPROM_ADDR);
} else {
- if (crc32(crc, buf, 24) == *(unsigned int *)&buf[24]) {
+ unsigned int crc_buf;
+
+ memcpy(&crc_buf, &buf[24], sizeof(unsigned int));
+
+ if (crc32(crc, buf, 24) == crc_buf) {
printf("Reading MAC from EEPROM\n");
for (i = 0; i < 4; i++) {
if (memcmp(&buf[i * 6], "\0\0\0\0\0\0", 6)) {
--
1.7.11.7
More information about the U-Boot
mailing list