From flash@hway.ru  Wed Jun  4 03:36:29 1997
Received: from thorin.hway.ru (flash@thorin.hway.ru [194.87.58.130])
          by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id DAA16157
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 4 Jun 1997 03:36:17 -0700 (PDT)
Received: (from flash@localhost)
	by thorin.hway.ru (8.8.5/8.8.5) id OAA20382;
	Wed, 4 Jun 1997 14:36:02 +0400 (MSD)
Message-Id: <199706041036.OAA20382@thorin.hway.ru>
Date: Wed, 4 Jun 1997 14:36:02 +0400 (MSD)
From: flash <flash@hway.ru>
Reply-To: flash@hway.ru
To: FreeBSD-gnats-submit@freebsd.org
Subject: Intel EtherExpress PRO/10 driver bugs
X-Send-Pr-Version: 3.2

>Number:         3776
>Category:       i386
>Synopsis:       Two typographical errors in the code
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gibbs
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun  4 03:40:00 PDT 1997
>Closed-Date:    Tue Jun 10 09:06:07 PDT 1997
>Last-Modified:  Tue Jun 10 09:09:55 PDT 1997
>Originator:     flash@hway.ru
>Release:        FreeBSD 2.2.1-RELEASE i386
>Organization:
Integrated Network Technologies
>Environment:
	FreeBSD 2.2.1 with two Intel EtherExpress Pro/10 ISA FX and TX boards

>Description:
	Driver is not working even with one board installed 'cause of a typo
	in the initialization code.

>How-To-Repeat:
	Install the board and try to use it. Link goes down after ifconfig.

>Fix:
	Here is a patch for FreeBSD-current as of 970603.
	The problem also known to exist in 2.1.7, 2.2.1, 2.2.2


*** if_ex.c.old	Tue Jun  3 12:19:32 1997
--- if_ex.c	Tue Jun  3 12:21:09 1997
***************
*** 317,323 ****
  	 */
  	outb(iobase + REG1, inb(iobase + REG1) | Tx_Chn_Int_Md | Tx_Chn_ErStp | Disc_Bad_Fr);
  	outb(iobase + REG2, inb(iobase + REG2) | No_SA_Ins | RX_CRC_InMem);
! 	outb(iobase + REG3, inb(iobase + REG3) | 0x3f /* XXX constants. */ );
  	outb(iobase + CMD_REG, Bank1_Sel);
  	outb(iobase + INT_NO_REG, (inb(iobase + INT_NO_REG) & 0xf8) | irq2eemap[sc->irq_no]);
  
--- 317,323 ----
  	 */
  	outb(iobase + REG1, inb(iobase + REG1) | Tx_Chn_Int_Md | Tx_Chn_ErStp | Disc_Bad_Fr);
  	outb(iobase + REG2, inb(iobase + REG2) | No_SA_Ins | RX_CRC_InMem);
! 	outb(iobase + REG3, inb(iobase + REG3) & 0x3f /* XXX constants. */ );
  	outb(iobase + CMD_REG, Bank1_Sel);
  	outb(iobase + INT_NO_REG, (inb(iobase + INT_NO_REG) & 0xf8) | irq2eemap[sc->irq_no]);
  
***************
*** 350,356 ****
  	 */
  	outw(iobase + RCV_BAR, sc->rx_lower_limit);
  	sc->rx_head = sc->rx_lower_limit;
! 	outw(iobase + RCV_STOP_REG, sc->rx_upper_limit & 0xfe);
  	outw(iobase + XMT_BAR, sc->tx_lower_limit);
  	sc->tx_head = sc->tx_tail = sc->tx_lower_limit;
  
--- 350,356 ----
  	 */
  	outw(iobase + RCV_BAR, sc->rx_lower_limit);
  	sc->rx_head = sc->rx_lower_limit;
! 	outw(iobase + RCV_STOP_REG, sc->rx_upper_limit | 0xfe);
  	outw(iobase + XMT_BAR, sc->tx_lower_limit);
  	sc->tx_head = sc->tx_tail = sc->tx_lower_limit;
  
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->gibbs 
Responsible-Changed-By: gibbs 
Responsible-Changed-When: Tue Jun 10 09:00:42 PDT 1997 
Responsible-Changed-Why:  
Since everyone seems to think I know something about this driver, 
I guess I'll take this one.  Gee.  You touch one EtherExpress driver 
they think you've touched 'em all. 
State-Changed-From-To: open->closed 
State-Changed-By: gibbs 
State-Changed-When: Tue Jun 10 09:06:07 PDT 1997 
State-Changed-Why:  
Suggested patch applied in rev 1.3 of if_ex.c. 

Unfortunately, I don't have any of these cards, nor have I worked on 
this driver before, so I certainly hope that your fix is correct. 8-) 
>Unformatted:
