From owner-freebsd-stable@FreeBSD.ORG Tue Apr 17 23:30:05 2007 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 19A3B16A47B; Tue, 17 Apr 2007 23:30:05 +0000 (UTC) (envelope-from henrik@brixandersen.dk) Received: from solow.pil.dk (relay.pil.dk [195.41.47.164]) by mx1.freebsd.org (Postfix) with ESMTP id C7A7A13C489; Tue, 17 Apr 2007 23:30:04 +0000 (UTC) (envelope-from henrik@brixandersen.dk) Received: from tirith.brixandersen.dk (osgiliath.brixandersen.dk [87.53.223.189]) by solow.pil.dk (Postfix) with ESMTP id 24A711CC109; Wed, 18 Apr 2007 01:30:04 +0200 (CEST) Received: by tirith.brixandersen.dk (Postfix, from userid 1001) id A903EB897; Wed, 18 Apr 2007 01:30:03 +0200 (CEST) Date: Wed, 18 Apr 2007 01:30:03 +0200 From: Henrik Brix Andersen To: Jack Vogel Message-ID: <20070417233003.GB35507@tirith.brixandersen.dk> Mail-Followup-To: Jack Vogel , Gleb Smirnoff , Bill Paul , freebsd-current@freebsd.org, freebsd-stable@freebsd.org, jon.otterholm@ide.resurscentrum.se References: <2a41acea0701171258k16b4c6ebuf1d4794b89d0749b@mail.gmail.com> <20070120065321.DB61216A405@hub.freebsd.org> <2a41acea0701201435g6f960b40r3cf0552d87ab2bfd@mail.gmail.com> <20070122083506.GW4485@FreeBSD.org> <2a41acea0701221030x52dd8821pd858ae7e6740ce92@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="xXmbgvnjoT4axfJE" Content-Disposition: inline In-Reply-To: <2a41acea0701221030x52dd8821pd858ae7e6740ce92@mail.gmail.com> X-PGP-Key: http://www.brixandersen.dk/files/HenrikBrixAndersen.asc User-Agent: Mutt/1.5.15 (2007-04-06) Cc: Bill Paul , jon.otterholm@ide.resurscentrum.se, Gleb Smirnoff , freebsd-stable@freebsd.org, freebsd-current@freebsd.org Subject: Re: Lenovo X60 em workaround X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Apr 2007 23:30:05 -0000 --xXmbgvnjoT4axfJE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Mon, Jan 22, 2007 at 10:30:48AM -0800, Jack Vogel wrote: > Acknowledge... I can do better than that, I have a fix for this problem,= and > its not temporary. Here is the code change (not a patch, I'm very busy), > its in hardware_init, should be obvious how to patch: >=20 > /* Make sure we have a good EEPROM before we read from it */ > if (e1000_validate_nvm_checksum(&adapter->hw) < 0) { > /* > ** Some PCI-E parts fail the first check due to > ** the link being in sleep state, call it again, > ** if it fails a second time its a real issue. > */ > if (e1000_validate_nvm_checksum(&adapter->hw) < 0) { > device_printf(dev, > "The EEPROM Checksum Is Not Valid\n"); > return (EIO); > } > } >=20 > This is already checked into my code base at Intel, I've just been too > busy to do anything with it, be my guest if you wish to check it in after > testing... I can confirm that the above patch fixes the frequent initialization problems with em(4) on my IBM/Lenovo ThinkPad X60s. Without the patch, I often see the following on boot when there is no link on the em(4) interface: Apr 17 22:05:12 lothlorien kernel: em0: The EEPROM Checksum Is Not Valid Apr 17 22:05:12 lothlorien kernel: em0: Unable to initialize the hardware With the patch, I can not reproduce the invalid checksum errors - the second call to e1000_validate_nvm_checksum() succeeds. Any chance of this patch hitting CURRENT anytime soon? :) Regards, Brix --=20 Henrik Brix Andersen --xXmbgvnjoT4axfJE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) Comment: GnuPG signed iD8DBQFGJVh6v+Q4flTiePgRAl8HAKChX/5jZNCWUqFlKQMac+F4X1RaGwCdEWTc MDVyabUN/0TK4sbsjGRchpc= =M00m -----END PGP SIGNATURE----- --xXmbgvnjoT4axfJE--