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>
This commit is contained in:
Jacky Chou 2024-02-05 16:13:23 +08:00 committed by Tom Rini
parent 60d77b6f91
commit cc09160f30

View File

@ -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 */
}