Re: [Bug #11382] e1000e: 2.6.27-rc1 corrupts EEPROM/NVM

From: H. Peter Anvin
Date: Thu Sep 25 2008 - 14:48:29 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/