From owner-freebsd-bugs Wed May 7 02:50:04 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id CAA13370 for bugs-outgoing; Wed, 7 May 1997 02:50:04 -0700 (PDT) Received: (from gnats@localhost) by hub.freebsd.org (8.8.5/8.8.5) id CAA13346; Wed, 7 May 1997 02:50:02 -0700 (PDT) Resent-Date: Wed, 7 May 1997 02:50:02 -0700 (PDT) Resent-Message-Id: <199705070950.CAA13346@hub.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@FreeBSD.ORG, Received:(from nobody@localhost) by.hub.freebsd.org.id.CAA13114;Wed; (8.8.5/8.8.5);, 7 May 1997 02:43:01.-0700 (PDT) Message-Id: <199705070943.CAA13114@hub.freebsd.org> Date: Wed, 7 May 1997 02:43:01 -0700 (PDT) From: stb@FreeBSD.ORG To: freebsd-gnats-submit@FreeBSD.ORG X-Send-Pr-Version: www-1.0 Subject: kern/3527: if_de.c doesn't recognize Kingston card properly Sender: owner-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >Number: 3527 >Category: kern >Synopsis: if_de.c doesn't recognize Kingston card properly >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed May 7 02:50:00 PDT 1997 >Last-Modified: >Originator: Stefan Bethke >Organization: >Release: 2.2-STABLE >Environment: >Description: src/sys/pci/if_de.c (RELENG_2_2) does recognize the DE21140AC on the board, but assigns the wrong handlers to it. >How-To-Repeat: >Fix: This patch has successfully worked for me the last 4 months (on a 2.2-GAMMA system) (patch against 1.54.2.2) *** if_de.c.orig Mon Feb 17 20:31:56 1997 --- if_de.c Wed May 7 13:29:37 1997 *************** *** 3120,3125 **** --- 3120,3136 ---- * a DE500-XA. */ bcopy(sc->tulip_rombuf + 20, sc->tulip_hwaddr, 6); + #define subvendor() (((short *)sc->tulip_rombuf)[0]) + #define subdevice() (((short *)sc->tulip_rombuf)[1]) + loudprintf(TULIP_PRINTF_FMT ": Vendor %x, Subsystem %x, SROM format %d\n", + TULIP_PRINTF_ARGS, subvendor(), subdevice(), sc->tulip_rombuf[18]); + if ((subvendor() == 0x2646) && (subdevice() == 0x0001)) { + sc->tulip_boardsw = &tulip_21140_de500aa_boardsw; + strcpy (sc->tulip_boardidbuf, "Kingston EtherX"); + sc->tulip_boardid = sc->tulip_boardidbuf; + } else + #undef subvendor + #undef subdevice if (bcmp(sc->tulip_rombuf + 29, "DE500-XA", 8) == 0) { sc->tulip_boardsw = &tulip_21140_de500xa_boardsw; copy_name = 1; >Audit-Trail: >Unformatted: