Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Jun 1997 14:36:02 +0400 (MSD)
From:      flash <flash@hway.ru>
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   i386/3776: Intel EtherExpress PRO/10 driver bugs
Message-ID:  <199706041036.OAA20382@thorin.hway.ru>
Resent-Message-ID: <199706041040.DAA16423@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help


>Number:         3776
>Category:       i386
>Synopsis:       Two typographical errors in the code
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jun  4 03:40:00 PDT 1997
>Last-Modified:
>Originator:     flash@hway.ru
>Organization:
Integrated Network Technologies
>Release:        FreeBSD 2.2.1-RELEASE i386
>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;
  
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199706041036.OAA20382>