Call for testers: patch for the dc(4) driver
Maxime Henrion
mux at freebsd.org
Tue Sep 28 05:40:39 PDT 2004
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
-------------- next part --------------
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);
}
}
More information about the freebsd-current
mailing list