diff options
author | Edward O'Callaghan <quasisec@google.com> | 2022-11-28 11:20:44 +1100 |
---|---|---|
committer | Edward O'Callaghan <quasisec@chromium.org> | 2022-12-01 22:59:41 +0000 |
commit | c2af789c5ea5821f61fac5532d81e94742e0e00b (patch) | |
tree | 4fc04dd6a36a9fa3007c3122698b2925e268da48 /stlinkv3_spi.c | |
parent | f27e19a3319363a39a28a62524b72ce019a09dd0 (diff) | |
download | flashrom-c2af789c5ea5821f61fac5532d81e94742e0e00b.tar.gz flashrom-c2af789c5ea5821f61fac5532d81e94742e0e00b.tar.bz2 flashrom-c2af789c5ea5821f61fac5532d81e94742e0e00b.zip |
internal.c: laptop_ok global state can become stale
Craask and similar DUT's are erroneously probing random second chips.
```
Found chipset "Intel Alder Lake-N".
Enabling flash write... SPI Configuration is locked down.
FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-write.
FREG1: BIOS region (0x003a0000-0x00ffffff) is read-write.
FREG2: Management Engine region (0x00001000-0x0039ffff) is read-write.
OK.
Found Winbond flash chip "W25Q128.V..M" (16384 kB, Programmer-specific) on host.
Warning: Setting BIOS Control at 0xdc from 0x8b to 0x89 failed.
New value is 0x8b.
Found MoselVitelic flash chip "V29C51000T" (64 kB, Parallel) mapped at physical address 0x00000000ffff0000.
```
This seems to be due to `laptop_ok` becoming a stale global state
after the first operation leading to probing on unrelated buses.
Therefore unconditionally reset the global state upon entry into
the internal driver.
BUG=b:260518132,b:260151917
TEST=Craask reportly no longer finds duplicate chip.
Change-Id: I2c00c351904307eeb1488c5dfaffc91d6468ee25
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/70026
Reviewed-by: Sam McNally <sammc@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Diffstat (limited to 'stlinkv3_spi.c')
0 files changed, 0 insertions, 0 deletions