diff options
author | marcel <marcel@FreeBSD.org> | 2005-11-22 01:51:57 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2005-11-22 01:51:57 +0000 |
commit | 795233d73ae4a3e1a38dac764d263477d0b0e2c7 (patch) | |
tree | 4fe7dab3b773c6c6cf41e7f88fdc12fd38caa836 /sys/dev/dc/if_dcreg.h | |
parent | 570800eb929716415e5ae5f27fd7662a11237c1f (diff) | |
download | FreeBSD-src-795233d73ae4a3e1a38dac764d263477d0b0e2c7.zip FreeBSD-src-795233d73ae4a3e1a38dac764d263477d0b0e2c7.tar.gz |
Resolve misalignment traps caused by changes to IF_LLADDR().
Use de16dec() and le16dec() to fetch the link-level address
from struct ifnet.
Tested on: alpha
Reviewed by: jhb
See also: de(4)
Diffstat (limited to 'sys/dev/dc/if_dcreg.h')
-rw-r--r-- | sys/dev/dc/if_dcreg.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/dc/if_dcreg.h b/sys/dev/dc/if_dcreg.h index ecf9962..e5195f5 100644 --- a/sys/dev/dc/if_dcreg.h +++ b/sys/dev/dc/if_dcreg.h @@ -473,9 +473,9 @@ struct dc_desc { (uintptr_t)(sc->dc_ldata->dc_tx_list + i) - (uintptr_t)sc->dc_ldata) #if BYTE_ORDER == BIG_ENDIAN -#define DC_SP_MAC(x) ((x) << 16) +#define DC_SP_MAC(ptr) (be16dec(ptr) << 16) #else -#define DC_SP_MAC(x) (x) +#define DC_SP_MAC(ptr) (le16dec(ptr)) #endif struct dc_list_data { |