summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Rahn <drahn@cvs.openbsd.org>2006-06-05 23:44:08 +0000
committerDale Rahn <drahn@cvs.openbsd.org>2006-06-05 23:44:08 +0000
commitf042d412f597bd02480f568d91aa3cb4373027cd (patch)
treed4261d892c44ee0f634fa4fe1188de854ce43298
parentf53670b4a5936b643582457037d5a0c773d559de (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.c9
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(&reg, LLADDR(ifp->if_sadl), 4);
- CSR_WRITE_4(sc, RL_IDR0, htole32(reg));
+
reg = 0;
memcpy(&reg, LLADDR(ifp->if_sadl) + 4, 4);
CSR_WRITE_4(sc, RL_IDR4, htole32(reg));
+
+ memcpy(&reg, LLADDR(ifp->if_sadl), 4);
+ CSR_WRITE_4(sc, RL_IDR0, htole32(reg));
+
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
/*