Index: pci/if_rlreg.h =================================================================== --- pci/if_rlreg.h (revision 202292) +++ pci/if_rlreg.h (working copy) @@ -146,6 +146,7 @@ #define RL_TXCFG_IFG2 0x00080000 /* 8169 only */ #define RL_TXCFG_IFG 0x03000000 /* interframe gap */ #define RL_TXCFG_HWREV 0x7CC00000 +#define RL_TXCFG_MACMODE 0x00700000 #define RL_LOOPTEST_OFF 0x00000000 #define RL_LOOPTEST_ON 0x00020000 Index: dev/re/if_re.c =================================================================== --- dev/re/if_re.c (revision 202292) +++ dev/re/if_re.c (working copy) @@ -1236,9 +1236,9 @@ hwrev &= RL_TXCFG_HWREV; break; } - device_printf(dev, "MAC rev. 0x%08x\n", hwrev & 0x00700000); + device_printf(dev, "MAC rev. 0x%08x\n", hwrev & RL_TXCFG_MACMODE); while (hw_rev->rl_desc != NULL) { - if (hw_rev->rl_rev == hwrev) { + if (hw_rev->rl_rev == (hwrev & ~RL_TXCFG_MACMODE)) { sc->rl_type = hw_rev->rl_type; sc->rl_hwrev = hw_rev->rl_rev; break; @@ -1279,7 +1279,7 @@ sc->rl_flags |= RL_FLAG_MACSLEEP; /* FALLTHROUGH */ case RL_HWREV_8168C: - if ((hwrev & 0x00700000) == 0x00200000) + if ((hwrev & RL_TXCFG_MACMODE) == 0x00200000) sc->rl_flags |= RL_FLAG_MACSLEEP; /* FALLTHROUGH */ case RL_HWREV_8168CP: