From cd4a62a7841ab794b654554778399fbc76933344 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Sun, 14 Aug 2022 11:50:41 +0200 Subject: [PATCH] spi25_statusreg: Fix checks for FEATURE_WRSR_EXT3 FEATURE_WRSR_EXT3 contains multiple bits, hence we need to check for all of them. Change-Id: I188911890361999cd8cca9b6405f57a91075f6b4 Signed-off-by: Nico Huber Reported-by: Sergii Dmytruk Reviewed-on: https://review.coreboot.org/c/flashrom/+/66712 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: Sergii Dmytruk Reviewed-by: Thomas Heijligen --- spi25_statusreg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spi25_statusreg.c b/spi25_statusreg.c index 4cd19aba0..5dbba75ca 100644 --- a/spi25_statusreg.c +++ b/spi25_statusreg.c @@ -93,7 +93,7 @@ int spi_write_register(const struct flashctx *flash, enum flash_reg reg, uint8_t write_cmd_len = JEDEC_WRSR3_OUTSIZE; break; } - if (feature_bits & FEATURE_WRSR_EXT3) { + if ((feature_bits & FEATURE_WRSR_EXT3) == FEATURE_WRSR_EXT3) { if (spi_prepare_wrsr_ext(write_cmd, &write_cmd_len, flash, reg, value)) return 1; break; @@ -188,7 +188,8 @@ int spi_read_register(const struct flashctx *flash, enum flash_reg reg, uint8_t msg_cerr("Cannot read SR2: unsupported by chip\n"); return 1; case STATUS3: - if (feature_bits & (FEATURE_WRSR_EXT3 | FEATURE_WRSR3)) { + if ((feature_bits & FEATURE_WRSR_EXT3) == FEATURE_WRSR_EXT3 + || (feature_bits & FEATURE_WRSR3)) { read_cmd = JEDEC_RDSR3; break; }