Date: Tue, 23 Mar 1999 10:40:14 -0800 (PST) From: ume@mahoroba.org To: freebsd-gnats-submit@freebsd.org Subject: kern/10755: de driver says `invalid EESPROM checksum' Message-ID: <19990323184014.4126114BFA@hub.freebsd.org>
index | next in thread | raw e-mail
>Number: 10755
>Category: kern
>Synopsis: de driver says `invalid EESPROM checksum'
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Tue Mar 23 10:40:01 PST 1999
>Closed-Date:
>Last-Modified:
>Originator: Hajimu UMEMOTO
>Release: 4.0-CURRENT
>Organization:
Internet Mutual Aid Society YOKOHAMA
>Environment:
FreeBSD peace.calm.imasy.or.jp 4.0-CURRENT FreeBSD 4.0-CURRENT #0: Fri Feb 12 03:27:37 JST 1999 ume@peace.calm.imasy.or.jp:/usr/src/sys/compile/PEACE-UP i386
>Description:
de driver says `invalid EESPROM checksum' for Digital 21143
Fast Ethernet.
According to `Digital Semiconductor(TM) 21X4 Serial ROM Format
Version 4.05', location of CRC was changed.
>How-To-Repeat:
Use Digital 21143 Fast Ethernet.
>Fix:
--- if_de.c.orig Mon Mar 22 23:22:58 1999
+++ if_de.c Wed Mar 24 03:13:25 1999
@@ -2084,9 +2084,14 @@
}
#define tulip_mchash(mca) (tulip_crc32(mca, 6) & 0x1FF)
-#define tulip_srom_crcok(databuf) ( \
+#define tulip_srom_crcok(databuf) \
+ (tulip_srom_crcok128(databuf) || tulip_srom_crcok96(databuf))
+#define tulip_srom_crcok128(databuf) ( \
((tulip_crc32(databuf, 126) & 0xFFFFU) ^ 0xFFFFU) == \
((databuf)[126] | ((databuf)[127] << 8)))
+#define tulip_srom_crcok96(databuf) ( \
+ ((tulip_crc32(databuf, 94) & 0xFFFFU) ^ 0xFFFFU) == \
+ ((databuf)[94] | ((databuf)[95] << 8)))
static unsigned
tulip_crc32(
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990323184014.4126114BFA>
