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>
