nfp: fix unaligned io read of capabilities word
authorHuanhuan Wang <huanhuan.wang@corigine.com>
Fri, 16 Dec 2022 14:31:01 +0000 (15:31 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Dec 2022 12:35:20 +0000 (12:35 +0000)
The address of 32-bit extend capability is not qword aligned,
and may cause exception in some arch.

Fixes: 484963ce9f1e ("nfp: extend capability and control words")
Signed-off-by: Huanhuan Wang <huanhuan.wang@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_net_common.c

index 2314cf5..0905337 100644 (file)
@@ -2509,7 +2509,7 @@ static int nfp_net_read_caps(struct nfp_net *nn)
 {
        /* Get some of the read-only fields from the BAR */
        nn->cap = nn_readl(nn, NFP_NET_CFG_CAP);
-       nn->cap_w1 = nn_readq(nn, NFP_NET_CFG_CAP_WORD1);
+       nn->cap_w1 = nn_readl(nn, NFP_NET_CFG_CAP_WORD1);
        nn->max_mtu = nn_readl(nn, NFP_NET_CFG_MAX_MTU);
 
        /* ABI 4.x and ctrl vNIC always use chained metadata, in other cases