--- a/sys/dev/netif/mii_layer/ciphy.c 2026-09-25 10:49:30.436655106 +0000 +++ b/sys/dev/netif/mii_layer/ciphy.c 2026-09-25 10:49:30.448654949 +0000 @@ -140,9 +140,20 @@ device_printf(dev, " "); if ((sc->mii_capabilities & BMSR_MEDIAMASK) == 0 && - (sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0) + (sc->mii_extcapabilities & EXTSR_MEDIAMASK) == 0) { kprintf("no media present"); - else + /* + * Add an explicit fallback media entry so that + * miibus_mediainit()'s ifmedia_set() finds a match + * instead of panicking ("ifmedia_set: no match"). + * mii_phy_add_media()'s own IFM_NONE fallback cannot be + * used here: it is gated on MIIF_NOISOLATE being clear + * (mii_physubr.c) and ciphy always sets MIIF_NOISOLATE. + */ + ifmedia_add(&mii->mii_media, + IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst), + MII_MEDIA_NONE, NULL); + } else mii_phy_add_media(sc); kprintf("\n");