--- if_re.c.orig +++ if_re.c @@ -713,11 +713,13 @@ if (i == RL_TIMEOUT) device_printf(sc->rl_dev, "reset never completed!\n"); - if ((sc->rl_flags & RL_FLAG_PHY8169) != 0) - CSR_WRITE_1(sc, 0x82, 1); - if ((sc->rl_flags & RL_FLAG_PHY8110S) != 0) { - CSR_WRITE_1(sc, 0x82, 1); + switch (sc->rl_flags & (RL_FLAG_PHY8110S | RL_FLAG_PHY8169)) { + case RL_FLAG_PHY8110S: re_gmii_writereg(sc->rl_dev, 1, 0x0B, 0); + /* FALLTHROUGH */ + case RL_FLAG_PHY8169: + CSR_WRITE_1(sc, 0x82, 1); + break; } }