aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/phy
diff options
context:
space:
mode:
authorJacky Chou <jacky_chou@aspeedtech.com>2024-02-05 16:13:23 +0800
committerTom Rini <trini@konsulko.com>2024-03-26 19:58:26 -0400
commitcc09160f30b33ea365e89c445edfb4f3b985911b (patch)
treeb753b4650350fa7296a2b2182d105d48b5e75ec6 /drivers/net/phy
parent60d77b6f91f08d3be3b03d188c30c9b47e800a62 (diff)
downloadu-boot-cc09160f30b33ea365e89c445edfb4f3b985911b.zip
u-boot-cc09160f30b33ea365e89c445edfb4f3b985911b.tar.gz
u-boot-cc09160f30b33ea365e89c445edfb4f3b985911b.tar.bz2
net: phy: ncsi: reslove the unaligned access issue
From the ethernet header is not on aligned, because the length of the ethernet header is 14 bytes. Therefore, unaligned access must be done here. Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
Diffstat (limited to 'drivers/net/phy')
-rw-r--r--drivers/net/phy/ncsi.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/phy/ncsi.c b/drivers/net/phy/ncsi.c
index f9069c3..2bca116 100644
--- a/drivers/net/phy/ncsi.c
+++ b/drivers/net/phy/ncsi.c
@@ -286,11 +286,11 @@ static void ncsi_rsp_gc(struct ncsi_rsp_pkt *pkt)
}
c = &ncsi_priv->packages[np].channels[nc];
- c->cap_generic = ntohl(gc->cap) & NCSI_CAP_GENERIC_MASK;
- c->cap_bc = ntohl(gc->bc_cap) & NCSI_CAP_BC_MASK;
- c->cap_mc = ntohl(gc->mc_cap) & NCSI_CAP_MC_MASK;
- c->cap_aen = ntohl(gc->aen_cap) & NCSI_CAP_AEN_MASK;
- c->cap_vlan = ntohl(gc->vlan_mode) & NCSI_CAP_VLAN_MASK;
+ c->cap_generic = get_unaligned_be32(&gc->cap) & NCSI_CAP_GENERIC_MASK;
+ c->cap_bc = get_unaligned_be32(&gc->bc_cap) & NCSI_CAP_BC_MASK;
+ c->cap_mc = get_unaligned_be32(&gc->mc_cap) & NCSI_CAP_MC_MASK;
+ c->cap_aen = get_unaligned_be32(&gc->aen_cap) & NCSI_CAP_AEN_MASK;
+ c->cap_vlan = gc->vlan_mode & NCSI_CAP_VLAN_MASK;
/* End of probe for this channel */
}