Linux folks changed the device tree to use 10gbase-r instead of
10gbase-kr since "it is more correct".  Then the UEFI folks synched
their device trees to Linux and the 10G ports broke.  So accept both
in the code.

ok?


Index: dev/fdt/if_mvpp.c
===================================================================
RCS file: /cvs/src/sys/dev/fdt/if_mvpp.c,v
retrieving revision 1.44
diff -u -p -r1.44 if_mvpp.c
--- dev/fdt/if_mvpp.c   12 Dec 2020 11:48:52 -0000      1.44
+++ dev/fdt/if_mvpp.c   2 Jun 2021 20:34:30 -0000
@@ -1354,7 +1354,9 @@ mvpp2_port_attach(struct device *parent,
 
        phy_mode = malloc(len, M_TEMP, M_WAITOK);
        OF_getprop(sc->sc_node, "phy-mode", phy_mode, len);
-       if (!strncmp(phy_mode, "10gbase-kr", strlen("10gbase-kr")))
+       if (!strncmp(phy_mode, "10gbase-r", strlen("10gbase-r")))
+               sc->sc_phy_mode = PHY_MODE_10GBASER;
+       else if (!strncmp(phy_mode, "10gbase-kr", strlen("10gbase-kr")))
                sc->sc_phy_mode = PHY_MODE_10GBASER;
        else if (!strncmp(phy_mode, "2500base-x", strlen("2500base-x")))
                sc->sc_phy_mode = PHY_MODE_2500BASEX;

Reply via email to