From fd3ae0f5be1e8b9dd8caf6ceec9af1b6855d9d48 Mon Sep 17 00:00:00 2001 From: Pyun YongHyeon Date: Mon, 21 Oct 2013 06:22:20 +0000 Subject: Correct MAC revision bits. Previously it always cleared bit 20 and bit 21. --- sys/dev/re/if_re.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sys/dev/re') diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 1e906a7b4933..6270aceea352 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -1367,10 +1367,11 @@ re_attach(device_t dev) break; default: device_printf(dev, "Chip rev. 0x%08x\n", hwrev & 0x7c800000); + sc->rl_macrev = hwrev & 0x00700000; hwrev &= RL_TXCFG_HWREV; break; } - device_printf(dev, "MAC rev. 0x%08x\n", hwrev & 0x00700000); + device_printf(dev, "MAC rev. 0x%08x\n", sc->rl_macrev); while (hw_rev->rl_desc != NULL) { if (hw_rev->rl_rev == hwrev) { sc->rl_type = hw_rev->rl_type; @@ -1429,7 +1430,7 @@ re_attach(device_t dev) sc->rl_flags |= RL_FLAG_MACSLEEP; /* FALLTHROUGH */ case RL_HWREV_8168C: - if ((hwrev & 0x00700000) == 0x00200000) + if (sc->rl_macrev == 0x00200000) sc->rl_flags |= RL_FLAG_MACSLEEP; /* FALLTHROUGH */ case RL_HWREV_8168CP: -- cgit v1.2.3