]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Jun 2019 09:27:02 +0000 (11:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Jun 2019 09:27:02 +0000 (11:27 +0200)
added patches:
mtd-spinand-macronix-fix-ecc-status-read.patch

queue-4.19/mtd-spinand-macronix-fix-ecc-status-read.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/mtd-spinand-macronix-fix-ecc-status-read.patch b/queue-4.19/mtd-spinand-macronix-fix-ecc-status-read.patch
new file mode 100644 (file)
index 0000000..26f0bf4
--- /dev/null
@@ -0,0 +1,46 @@
+From f4cb4d7b46f6409382fd981eec9556e1f3c1dc5d Mon Sep 17 00:00:00 2001
+From: Emil Lenngren <emil.lenngren@gmail.com>
+Date: Thu, 20 Dec 2018 13:46:58 +0100
+Subject: mtd: spinand: macronix: Fix ECC Status Read
+
+From: Emil Lenngren <emil.lenngren@gmail.com>
+
+commit f4cb4d7b46f6409382fd981eec9556e1f3c1dc5d upstream.
+
+The datasheet specifies the upper four bits are reserved.
+Testing on real hardware shows that these bits can indeed be nonzero.
+
+Signed-off-by: Emil Lenngren <emil.lenngren@gmail.com>
+Reviewed-by: Boris Brezillon <boris.brezillon@bootlin.com>
+Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
+Cc: Christian Lamparter <chunkeey@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/mtd/nand/spi/macronix.c |    8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+--- a/drivers/mtd/nand/spi/macronix.c
++++ b/drivers/mtd/nand/spi/macronix.c
+@@ -10,6 +10,7 @@
+ #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),
+@@ -55,7 +56,12 @@ static int mx35lf1ge4ab_get_eccsr(struct
+                                         SPI_MEM_OP_DUMMY(1, 1),
+                                         SPI_MEM_OP_DATA_IN(1, eccsr, 1));
+-      return spi_mem_exec_op(spinand->spimem, &op);
++      int ret = spi_mem_exec_op(spinand->spimem, &op);
++      if (ret)
++              return ret;
++
++      *eccsr &= MACRONIX_ECCSR_MASK;
++      return 0;
+ }
+ static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand,
index 7e623b432293336a8abb10f9ff95058502bcf7e2..55cb19b6990c493780ca6b74f3f03968e020eafa 100644 (file)
@@ -15,3 +15,4 @@ pktgen-do-not-sleep-with-the-thread-lock-held.patch
 revert-fib_rules-return-0-directly-if-an-exactly-same-rule-exists-when-nlm_f_excl-not-supplied.patch
 ipv6-use-read_once-for-inet-hdrincl-as-in-ipv4.patch
 ipv6-fix-efault-on-sendto-with-icmpv6-and-hdrincl.patch
+mtd-spinand-macronix-fix-ecc-status-read.patch