From owner-cvs-src@FreeBSD.ORG Sat Aug 9 19:41:19 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A80D37B404; Sat, 9 Aug 2003 19:41:19 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 72B8043FCB; Sat, 9 Aug 2003 19:41:18 -0700 (PDT) (envelope-from wpaul@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h7A2fI0U075076; Sat, 9 Aug 2003 19:41:18 -0700 (PDT) (envelope-from wpaul@repoman.freebsd.org) Received: (from wpaul@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7A2fIZ7075075; Sat, 9 Aug 2003 19:41:18 -0700 (PDT) Message-Id: <200308100241.h7A2fIZ7075075@repoman.freebsd.org> From: Bill Paul Date: Sat, 9 Aug 2003 19:41:18 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/pci if_rl.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Aug 2003 02:41:19 -0000 wpaul 2003/08/09 19:41:18 PDT FreeBSD src repository Modified files: sys/pci if_rl.c Log: Grrr. There is a gratuitous difference in the RX descriptor status word between the 8139C+ and the 8169. The 8139C+ has a 'frame alignment error bit' (bit 27) but the 8169 does not. Rather than simply mark this bit as reserved, RealTek removed it completely and shifted the remaining status bits one space to the left. This was causing rl_rxeofcplus() to misparse the error and checksum bits. To workaround this, rl_rxeofcplus() now shifts the rxstat word one bit to the right before testing any of the status bits (but after the frame length has been extracted). Revision Changes Path 1.109 +18 -0 src/sys/pci/if_rl.c