- 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@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; }