aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/re
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2013-10-21 06:22:20 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2013-10-21 06:22:20 +0000
commitfd3ae0f5be1e8b9dd8caf6ceec9af1b6855d9d48 (patch)
tree42f351ee3bbcd0a27cf165505b676da0ec8c46a5 /sys/dev/re
parent5e63cdb457f93c321ed976853f8ecdd041df15be (diff)
downloadsrc-fd3ae0f5be1e8b9dd8caf6ceec9af1b6855d9d48.tar.gz
src-fd3ae0f5be1e8b9dd8caf6ceec9af1b6855d9d48.zip
Correct MAC revision bits. Previously it always cleared bit 20 and
bit 21.
Notes
Notes: svn path=/head/; revision=256827
Diffstat (limited to 'sys/dev/re')
-rw-r--r--sys/dev/re/if_re.c5
1 files changed, 3 insertions, 2 deletions
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: