Author: stefanct Date: Mon Aug 27 17:12:36 2012 New Revision: 1587 URL: http://flashrom.org/trac/flashrom/changeset/1587
Log: ichspi: ignore bogus FREGs.
Some vendors forget to disable regions properly and set their FRAP bits and FREG to 0. While not documented publicly this is being ignored by the chipset(s)[1] and hence flashrom should do so too. Without this patch flashrom prints a warning and disables writes. The check for i (region index) excludes the descriptor region which should not be becessary because specs suggest that the descriptor region should not be locked, but if vendors would follow the specs this patch would not have been necessary in the first place.
[1]: http://www.flashrom.org/pipermail/flashrom/2012-May/009303.html
Signed-off-by: Stefan Tauner stefan.tauner@student.tuwien.ac.at Acked-by: Stefan Tauner stefan.tauner@student.tuwien.ac.at
Modified: trunk/ichspi.c
Modified: trunk/ichspi.c ============================================================================== --- trunk/ichspi.c Mon Aug 27 03:24:15 2012 (r1586) +++ trunk/ichspi.c Mon Aug 27 17:12:36 2012 (r1587) @@ -1441,7 +1441,7 @@
base = ICH_FREG_BASE(freg); limit = ICH_FREG_LIMIT(freg); - if (base > limit) { + if (base > limit || (freg == 0 && i > 0)) { /* this FREG is disabled */ msg_pdbg2("0x%02X: 0x%08x FREG%i: %s region is unused.\n", offset, freg, i, region_names[i]);