mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 06:23:18 +02:00
flashrom: Use WP-based unlocking on opaque masters
Flashrom only tries to use WP-based unlocking if it detects that WP operations are supported. However WP support was detected in a way that ignored WP operations provided by opaque masters. This stopped flashrom from automatically unlocking with some opaque masters, particularly linux_mtd. This commit also deletes part of a test that required the chip unlock function to be called before read/write/erase operations because WP unlocking is now used instead of chip unlocking. BUG=b:280111380 BRANCH=none TEST=Checked flashrom automatically unlocked flash on strongbad (MTD) Change-Id: I1774ad64d82ae47cd085df6045e17e283855c01f Signed-off-by: Nikolai Artemiev <nartemiev@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/74930 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org> Reviewed-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
This commit is contained in:

committed by
Anastasia Klimchuk

parent
fc6a09ba1f
commit
00c9fac2a6
@ -914,9 +914,6 @@ static int spi_disable_blockprotect_bp2_ep_srwd(struct flashctx *flash)
|
||||
return spi_disable_blockprotect_bp2_srwd(flash);
|
||||
}
|
||||
|
||||
/* special unit-test hook */
|
||||
blockprotect_func_t *g_test_unlock_injector;
|
||||
|
||||
blockprotect_func_t *lookup_blockprotect_func_ptr(const struct flashchip *const chip)
|
||||
{
|
||||
switch (chip->unlock) {
|
||||
@ -948,7 +945,6 @@ blockprotect_func_t *lookup_blockprotect_func_ptr(const struct flashchip *const
|
||||
return lookup_82802ab_blockprotect_func_ptr(chip);
|
||||
case UNLOCK_SST_FWHUB: return unlock_sst_fwhub; /* sst_fwhub.c */
|
||||
case UNPROTECT_28SF040: return unprotect_28sf040; /* sst28sf040.c */
|
||||
case TEST_UNLOCK_INJECTOR: return g_test_unlock_injector;
|
||||
/* default: non-total function, 0 indicates no unlock function set.
|
||||
* We explicitly do not want a default catch-all case in the switch
|
||||
* to ensure unhandled enum's are compiler warnings.
|
||||
|
Reference in New Issue
Block a user