diff options
author | Dale Rahn <drahn@cvs.openbsd.org> | 2006-06-05 23:44:08 +0000 |
---|---|---|
committer | Dale Rahn <drahn@cvs.openbsd.org> | 2006-06-05 23:44:08 +0000 |
commit | f042d412f597bd02480f568d91aa3cb4373027cd (patch) | |
tree | d4261d892c44ee0f634fa4fe1188de854ce43298 | |
parent | f53670b4a5936b643582457037d5a0c773d559de (diff) |
Write the words of the mac address in reverse order to fix a MAC problem on
a Realtek 8169 found in a Thecus N2100, tested jsg, ok pval
-rw-r--r-- | sys/dev/ic/re.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/ic/re.c b/sys/dev/ic/re.c index 0c8b2020b9c..9ed0f42a94b 100644 --- a/sys/dev/ic/re.c +++ b/sys/dev/ic/re.c @@ -1,4 +1,4 @@ -/* $OpenBSD: re.c,v 1.24 2006/05/29 05:11:15 drahn Exp $ */ +/* $OpenBSD: re.c,v 1.25 2006/06/05 23:44:07 drahn Exp $ */ /* $FreeBSD: if_re.c,v 1.31 2004/09/04 07:54:05 ru Exp $ */ /* * Copyright (c) 1997, 1998-2003 @@ -1593,11 +1593,14 @@ re_init(struct ifnet *ifp) * register write enable" mode to modify the ID registers. */ CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG); - memcpy(®, LLADDR(ifp->if_sadl), 4); - CSR_WRITE_4(sc, RL_IDR0, htole32(reg)); + reg = 0; memcpy(®, LLADDR(ifp->if_sadl) + 4, 4); CSR_WRITE_4(sc, RL_IDR4, htole32(reg)); + + memcpy(®, LLADDR(ifp->if_sadl), 4); + CSR_WRITE_4(sc, RL_IDR0, htole32(reg)); + CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF); /* |