From owner-freebsd-hackers Wed Feb 19 03:22:06 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id DAA18141 for hackers-outgoing; Wed, 19 Feb 1997 03:22:06 -0800 (PST) Received: from labinfo.iet.unipi.it (labinfo.iet.unipi.it [131.114.9.5]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id DAA18118; Wed, 19 Feb 1997 03:21:47 -0800 (PST) Received: from localhost (luigi@localhost) by labinfo.iet.unipi.it (8.6.5/8.6.5) id LAA09311; Wed, 19 Feb 1997 11:30:42 +0100 From: Luigi Rizzo Message-Id: <199702191030.LAA09311@labinfo.iet.unipi.it> Subject: if_de bug found! To: matt@lkg.dec.com (Matt Thomas) Date: Wed, 19 Feb 1997 11:30:42 +0100 (MET) Cc: hackers@freebsd.org, dg@freebsd.org In-Reply-To: <3.0.32.19970215162211.0068f3e0@netrix.lkg.dec.com> from "Matt Thomas" at Feb 15, 97 04:28:37 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk After long and painful debugging I found the bug with the 21140A driver (if_de.c) from netbsd. The driver has a workaround for a bug of the 21140A when buffers overflow, and stops the receiver and resets the board when this occurs. This is done in the driver (around line 3230) by reading from CSR8 into "misses". Matt said this is an 'extremely rare' event, on my board, though, it turned out to happen at the end of every interrupt... A look at the 21140A reference manuals (on line on the DEC site) shows that the 3 high bits of CSR8 are set, so that they should be ignored. After doing this, the driver works like a charm. Probably the correct fix is to trigger the workaround only when b16 of CSR8 is set. Matt ? Thanks to Matt for writing the driver and suggesting that the event is rare, and to DEC for making the hardware manuals available on line. I'll submit a PR shortly. This might be a 2.2 candidate, if the if_de driver in 2.2 has the same workaround. David, can you check ? Thanks Luigi -----------------------------+-------------------------------------- Luigi Rizzo | Dip. di Ingegneria dell'Informazione email: luigi@iet.unipi.it | Universita' di Pisa tel: +39-50-568533 | via Diotisalvi 2, 56126 PISA (Italy) fax: +39-50-568522 | http://www.iet.unipi.it/~luigi/ _____________________________|______________________________________