diff options
author | Jacky Chou <jacky_chou@aspeedtech.com> | 2024-02-05 16:13:23 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-03-26 19:58:26 -0400 |
commit | cc09160f30b33ea365e89c445edfb4f3b985911b (patch) | |
tree | b753b4650350fa7296a2b2182d105d48b5e75ec6 | |
parent | 60d77b6f91f08d3be3b03d188c30c9b47e800a62 (diff) |
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>
-rw-r--r-- | drivers/net/phy/ncsi.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/phy/ncsi.c b/drivers/net/phy/ncsi.c index f9069c3a10d..2bca116a9d8 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 */ } |