Nikolai Artemiev has uploaded this change for review.

View Change

flashrom: initialize restore func count in correct place

Set `flash->chip_restore_fn_count` to zero before calling the chip's
unlock funciton in `prepare_flash_access()`.

Previously the count was reset after calling chip->unlock(), causing the
restore handler that is registered by spi_disable_blockprotect_generic()
to be lost.

BUG=b:228945411
BRANCH=none
TEST=enable wp; flashrom -w; check wp still enabled.

Change-Id: I4c7df424bd2ae2b5fb2a2ab6b47a3c9ff3233acf
Signed-off-by: Nikolai Artemiev <nartemiev@google.com>
---
M flashrom.c
1 file changed, 4 insertions(+), 4 deletions(-)

git pull ssh://review.coreboot.org:29418/flashrom refs/changes/81/63881/1
diff --git a/flashrom.c b/flashrom.c
index 7937885..5c180f3 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -1860,15 +1860,15 @@
if (map_flash(flash) != 0)
return 1;

+ flash->address_high_byte = -1;
+ flash->in_4ba_mode = false;
+ flash->chip_restore_fn_count = 0;
+
/* Given the existence of read locks, we want to unlock for read,
erase and write. */
if (flash->chip->unlock)
flash->chip->unlock(flash);

- flash->address_high_byte = -1;
- flash->in_4ba_mode = false;
- flash->chip_restore_fn_count = 0;
-
/* Be careful about 4BA chips and broken masters */
if (flash->chip->total_size > 16 * 1024 && spi_master_no_4ba_modes(flash)) {
/* If we can't use native instructions, bail out */

To view, visit change 63881. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: flashrom
Gerrit-Branch: master
Gerrit-Change-Id: I4c7df424bd2ae2b5fb2a2ab6b47a3c9ff3233acf
Gerrit-Change-Number: 63881
Gerrit-PatchSet: 1
Gerrit-Owner: Nikolai Artemiev <nartemiev@google.com>
Gerrit-MessageType: newchange