summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand/spi/macronix.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2021-10-23 10:49:28 -0400
committerTom Rini <trini@konsulko.com>2021-10-23 10:49:28 -0400
commit355d1e24f6143c4839be3c015c191421c4e9449c (patch)
treeff68e868d404d117f3f9599740f83fd73c99c306 /drivers/mtd/nand/spi/macronix.c
parentf055f2e5a2038002519e5b9affbf259345f4ade9 (diff)
parentb9cfd8b0911209e2ebec887e497510ee42f9e788 (diff)
Merge https://source.denx.de/u-boot/custodians/u-boot-spi
- Fix mtd erase with mtdpart (Marek BehĂșn) - NXP fspi driver fixes (Kuldeep Singh)
Diffstat (limited to 'drivers/mtd/nand/spi/macronix.c')
-rw-r--r--drivers/mtd/nand/spi/macronix.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c
index f4a8e816398..6d643a8000d 100644
--- a/drivers/mtd/nand/spi/macronix.c
+++ b/drivers/mtd/nand/spi/macronix.c
@@ -14,6 +14,8 @@
#include <linux/mtd/spinand.h>
#define SPINAND_MFR_MACRONIX 0xC2
+#define MACRONIX_ECCSR_MASK 0x0F
+
static SPINAND_OP_VARIANTS(read_cache_variants,
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
@@ -59,7 +61,13 @@ static int mx35lf1ge4ab_get_eccsr(struct spinand_device *spinand, u8 *eccsr)
SPI_MEM_OP_DUMMY(1, 1),
SPI_MEM_OP_DATA_IN(1, eccsr, 1));
- return spi_mem_exec_op(spinand->slave, &op);
+ int ret = spi_mem_exec_op(spinand->slave, &op);
+
+ if (ret)
+ return ret;
+
+ *eccsr &= MACRONIX_ECCSR_MASK;
+ return 0;
}
static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand,