summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2012-08-27 15:12:36 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2012-08-27 15:12:36 +0000
commite3adea08648c4ba0e0ebed702aba0adcf21e3925 (patch)
treef4778bb3185cccc43c0c19f1415b54527e4b8943
parent98f4710b579296b336dfa11a7e98df08d05710c7 (diff)
downloadast2050-flashrom-e3adea08648c4ba0e0ebed702aba0adcf21e3925.zip
ast2050-flashrom-e3adea08648c4ba0e0ebed702aba0adcf21e3925.tar.gz
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 Corresponding to flashrom svn r1587. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r--ichspi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ichspi.c b/ichspi.c
index fa962fc..ce9c553 100644
--- a/ichspi.c
+++ b/ichspi.c
@@ -1441,7 +1441,7 @@ static int ich9_handle_frap(uint32_t frap, int i)
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]);
OpenPOWER on IntegriCloud