From mboxrd@z Thu Jan 1 00:00:00 1970 From: "H. Peter Anvin" Subject: Re: [Bug #11382] e1000e: 2.6.27-rc1 corrupts EEPROM/NVM Date: Thu, 25 Sep 2008 11:46:42 -0700 Message-ID: <48DBDC92.80605@zytor.com> References: <20080923.150722.141587696.davem@davemloft.net> <9929d2390809231512w160d221axa2923a6b293a041@mail.gmail.com> <20080923.211215.193696086.davem@davemloft.net> <21d7e9970809241722w7c3bb6a5w1af5801b7380169d@mail.gmail.com> <21d7e9970809241722w7c3bb6a5w1af5801b7380169d@mail.gmail.com> <200809250401.54818.elendil@planet.nl> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: kernel-testers-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-ID: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: Jiri Kosina Cc: Frans Pop , airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Jeff Garzik , davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org, Andrew Morton , jeffrey.t.kirsher-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, david.vrabel-kQvG35nSl+M@public.gmane.org, rjw-KKrjLPT3xs0@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, chrisl-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org, Ingo Molnar , jbarnes-Y1mF5jBUw70BENJcbMCuUQ@public.gmane.org, jesse.brandeburg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Jiri Kosina wrote: > > Yes, I think that xorg/xorg i915 driver/libdrm/GEM/whatever are the > biggest suspect currently, according to the data that has been gathered so > far. > > Still, what confuses me a little bit -- the EEPROM of the card is set to > all 0xff, once the corruption happens. Isn't that a quite a coincidence, > that bytes representing "nothing" in this context are used? > Typical card EEPROMs are serial - either I2C or SPI. I believe the Intel cards use SPI EEPROMs, but I'm not sure. [Disclaimer: I don't actually know SPI all that well; I know I2C better. However, I'm pretty sure the following argument does apply to both.] Consider a corruption which turns a read command into a write command -- often just a single bit difference. Now, the EEPROM will expect data in to write, but nothing will be driving the data line, so it will typically be a 1. As the host tries to read, it will therefore fill the EEPROM with all ones. -hpa