Index: if_ixl.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_ixl.c,v retrieving revision 1.63 diff -u -p -r1.63 if_ixl.c --- if_ixl.c 7 Jul 2020 12:40:30 -0000 1.63 +++ if_ixl.c 10 Jul 2020 01:52:17 -0000 @@ -3891,15 +3891,16 @@ ixl_get_phy_types(struct ixl_softc *sc, switch (rv) { case -1: printf("%s: GET PHY ABILITIES timeout\n", DEVNAME(sc)); - goto done; + goto err; case IXL_AQ_RC_OK: break; case IXL_AQ_RC_EIO: - printf("%s: unable to query phy types\n", DEVNAME(sc)); - break; + /* API is too old to handle this command */ + phy_types = 0; + goto done; default: printf("%s: GET PHY ABILITIIES error %u\n", DEVNAME(sc), rv); - goto done; + goto err; } phy = IXL_DMA_KVA(&idm); @@ -3907,11 +3908,12 @@ ixl_get_phy_types(struct ixl_softc *sc, phy_types = lemtoh32(&phy->phy_type); phy_types |= (uint64_t)phy->phy_type_ext << 32; +done: *phy_types_ptr = phy_types; rv = 0; -done: +err: ixl_dmamem_free(sc, &idm); return (rv); }