[flashrom] [PATCH] revamp the warning of failing to set BIOS write enable in enable_flash_ich

Stefan Tauner stefan.tauner at student.tuwien.ac.at
Mon Jun 20 14:41:44 CEST 2011


 - introduce a new variable 'wanted' that is used instead of 'new'
 - use 'new' for the actual value contained in BIOS_CNTL after we tried to write it
 - rephrase the warning which now also includes the old and new values besides the wanted one

Signed-off-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>
---
 chipset_enable.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/chipset_enable.c b/chipset_enable.c
index 0c77f07..c36da4f 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -250,7 +250,7 @@ static int enable_flash_piix4(struct pci_dev *dev, const char *name)
 static int enable_flash_ich(struct pci_dev *dev, const char *name,
 			    int bios_cntl)
 {
-	uint8_t old, new;
+	uint8_t old, new, wanted;
 
 	/*
 	 * Note: the ICH0-ICH5 BIOS_CNTL register is actually 16 bit wide, but
@@ -274,14 +274,16 @@ static int enable_flash_ich(struct pci_dev *dev, const char *name,
 		msg_pinfo("WARNING: BIOS region SMM protection is enabled!\n");
 	}
 
-	new = old | 1;
-	if (new == old)
+	wanted = old | 1;
+	if (wanted == old)
 		return 0;
 
-	rpci_write_byte(dev, bios_cntl, new);
+	rpci_write_byte(dev, bios_cntl, wanted);
 
-	if (pci_read_byte(dev, bios_cntl) != new) {
-		msg_pinfo("tried to set 0x%x to 0x%x on %s failed (WARNING ONLY)\n", bios_cntl, new, name);
+	if ((new = pci_read_byte(dev, bios_cntl)) != wanted) {
+		msg_pinfo("WARNING: Setting 0x%x from 0x%x to 0x%x on %s "
+			  "failed. New value is 0x%x.\n",
+			  bios_cntl, old, wanted, name, new);
 		return -1;
 	}
 
-- 
1.7.1





More information about the flashrom mailing list