Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Sep 2004 14:40:39 +0200
From:      Maxime Henrion <mux@freebsd.org>
To:        current@FreeBSD.org, sparc64@FreeBSD.org
Subject:   Call for testers: patch for the dc(4) driver
Message-ID:  <20040928124039.GB61666@elvis.mu.org>

next in thread | raw e-mail | index | archive | help

--DocE+STaALJfprDB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

	Hi guys,



I need people to give this patch a try and see if it doesn't break
anything.  It shouldn't cause any harm, but better safe than sorry.
This patch allows the dc(4) driver to properly read the MAC address in
the EEPROM on FreeBSD/powerpc.  Andrew Gallatin tested it successfully
on his G4.  I'm particularly interested about people using dc(4) on
sparc64 since this arcihtecture is big endian.

Cheers,
Maxime

--DocE+STaALJfprDB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="dc.patch"

Index: if_dc.c
===================================================================
RCS file: /space2/ncvs/src/sys/pci/if_dc.c,v
retrieving revision 1.149
diff -u -p -r1.149 if_dc.c
--- if_dc.c	25 Aug 2004 03:37:25 -0000	1.149
+++ if_dc.c	26 Sep 2004 21:57:53 -0000
@@ -584,7 +584,7 @@ dc_eeprom_getword(struct dc_softc *sc, i
  * Read a sequence of words from the EEPROM.
  */
 static void
-dc_read_eeprom(struct dc_softc *sc, caddr_t dest, int off, int cnt, int swap)
+dc_read_eeprom(struct dc_softc *sc, caddr_t dest, int off, int cnt, int be)
 {
 	int i;
 	u_int16_t word = 0, *ptr;
@@ -597,10 +597,10 @@ dc_read_eeprom(struct dc_softc *sc, cadd
 		else
 			dc_eeprom_getword(sc, off + i, &word);
 		ptr = (u_int16_t *)(dest + (i * 2));
-		if (swap)
-			*ptr = ntohs(word);
+		if (be)
+			*ptr = be16toh(word);
 		else
-			*ptr = word;
+			*ptr = le16toh(word);
 	}
 }
 

--DocE+STaALJfprDB--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040928124039.GB61666>