From nobody  Wed May  7 02:43:01 1997
Received: (from nobody@localhost)
          by hub.freebsd.org (8.8.5/8.8.5) id CAA13114;
          Wed, 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
Subject: if_de.c doesn't recognize Kingston card properly
X-Send-Pr-Version: www-1.0

>Number:         3527
>Category:       kern
>Synopsis:       if_de.c doesn't recognize Kingston card properly
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    peter
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed May  7 02:50:00 PDT 1997
>Closed-Date:    Tue May 9 13:33:08 PDT 2000
>Last-Modified:  Tue May 09 13:35:21 PDT 2000
>Originator:     Stefan Bethke
>Release:        2.2-STABLE
>Organization:
>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;

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->peter 
Responsible-Changed-By: phk 
Responsible-Changed-When: Sun Apr 26 23:45:12 PDT 1998 
Responsible-Changed-Why:  
->peter 
State-Changed-From-To: open->feedback 
State-Changed-By: wilko 
State-Changed-When: Fri Apr 21 12:01:22 PDT 2000 
State-Changed-Why:  
hello Stefan, 

I know this is an old (..) PR, but have you ever tried the Kingston card 
on a recent FreeBSD release? I have a Kingston with a 21140 in my firewall 
machine running 3.4-stable just fine. If it works on a recent FreeBSD  
version I'd like to close the PR. 

thanks 
Wilko 
State-Changed-From-To: feedback->closed 
State-Changed-By: wilko 
State-Changed-When: Tue May 9 13:33:08 PDT 2000 
State-Changed-Why:  
Could not get feedback after waiting since April 21, 2000. Assuming 
problem fixed in recent FreeBSD. If not,  assume  a new PR will be  
filed. 
>Unformatted:
