kernel: backport phylink changes from mainline Linux
[openwrt/staging/pepe2k.git] / target / linux / generic / backport-6.1 / 715-29-v6.4-net-pcs-xpcs-fix-incorrect-number-of-interfaces.patch
1 From 43fb622d91a9f408322735d2f736495c1009f575 Mon Sep 17 00:00:00 2001
2 From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
3 Date: Tue, 9 May 2023 12:50:04 +0100
4 Subject: [PATCH] net: pcs: xpcs: fix incorrect number of interfaces
5
6 In synopsys_xpcs_compat[], the DW_XPCS_2500BASEX entry was setting
7 the number of interfaces using the xpcs_2500basex_features array
8 rather than xpcs_2500basex_interfaces. This causes us to overflow
9 the array of interfaces. Fix this.
10
11 Fixes: f27abde3042a ("net: pcs: add 2500BASEX support for Intel mGbE controller")
12 Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
13 Reviewed-by: Andrew Lunn <andrew@lunn.ch>
14 Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
15 Signed-off-by: David S. Miller <davem@davemloft.net>
16 ---
17 drivers/net/pcs/pcs-xpcs.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20 --- a/drivers/net/pcs/pcs-xpcs.c
21 +++ b/drivers/net/pcs/pcs-xpcs.c
22 @@ -1211,7 +1211,7 @@ static const struct xpcs_compat synopsys
23 [DW_XPCS_2500BASEX] = {
24 .supported = xpcs_2500basex_features,
25 .interface = xpcs_2500basex_interfaces,
26 - .num_interfaces = ARRAY_SIZE(xpcs_2500basex_features),
27 + .num_interfaces = ARRAY_SIZE(xpcs_2500basex_interfaces),
28 .an_mode = DW_2500BASEX,
29 },
30 };