]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop mtd patch from 4.14, 4.17, and 4.9 due to breakage.
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Jul 2018 10:24:33 +0000 (12:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Jul 2018 10:24:33 +0000 (12:24 +0200)
18 files changed:
queue-4.14/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch
queue-4.14/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch [deleted file]
queue-4.14/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch
queue-4.14/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch
queue-4.14/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch
queue-4.14/series
queue-4.17/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch
queue-4.17/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch [deleted file]
queue-4.17/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch
queue-4.17/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch
queue-4.17/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch
queue-4.17/series
queue-4.9/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch
queue-4.9/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch [deleted file]
queue-4.9/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch
queue-4.9/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch
queue-4.9/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch
queue-4.9/series

index f1daf67699fb93d4f3963f37acc37b1cbf3bcfcf..ceb0e787b02dd0373db27ad04e29f7f82ca7486d 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2695,6 +2695,8 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2685,6 +2685,8 @@ static int __maybe_unused cfi_ppb_unlock
                        i++;
  
                if (adr >> cfi->chipshift) {
diff --git a/queue-4.14/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch b/queue-4.14/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch
deleted file mode 100644 (file)
index c935b2a..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-From 45f75b8a919a4255f52df454f1ffdee0e42443b2 Mon Sep 17 00:00:00 2001
-From: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-Date: Wed, 30 May 2018 18:32:28 +0900
-Subject: mtd: cfi_cmdset_0002: Change erase functions to retry for error
-
-From: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-
-commit 45f75b8a919a4255f52df454f1ffdee0e42443b2 upstream.
-
-For the word write functions it is retried for error.
-But it is not implemented to retry for the erase functions.
-To make sure for the erase functions change to retry as same.
-
-This is needed to prevent the flash erase error caused only once.
-It was caused by the error case of chip_good() in the do_erase_oneblock().
-Also it was confirmed on the MACRONIX flash device MX29GL512FHT2I-11G.
-But the error issue behavior is not able to reproduce at this moment.
-The flash controller is parallel Flash interface integrated on BCM53003.
-
-Signed-off-by: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-Reviewed-by: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
-Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
-Cc: Brian Norris <computersforpeace@gmail.com>
-Cc: David Woodhouse <dwmw2@infradead.org>
-Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
-Cc: Marek Vasut <marek.vasut@gmail.com>
-Cc: Richard Weinberger <richard@nod.at>
-Cc: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
-Cc: linux-mtd@lists.infradead.org
-Cc: stable@vger.kernel.org
-Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/mtd/chips/cfi_cmdset_0002.c |   10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2241,6 +2241,7 @@ static int __xipram do_erase_chip(struct
-       unsigned long int adr;
-       DECLARE_WAITQUEUE(wait, current);
-       int ret = 0;
-+      int retry_cnt = 0;
-       adr = cfi->addr_unlock1;
-@@ -2258,6 +2259,7 @@ static int __xipram do_erase_chip(struct
-       ENABLE_VPP(map);
-       xip_disable(map, chip, adr);
-+ retry:
-       cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-@@ -2312,6 +2314,9 @@ static int __xipram do_erase_chip(struct
-               map_write( map, CMD(0xF0), chip->start );
-               /* FIXME - should have reset delay before continuing */
-+              if (++retry_cnt <= MAX_RETRIES)
-+                      goto retry;
-+
-               ret = -EIO;
-       }
-@@ -2331,6 +2336,7 @@ static int __xipram do_erase_oneblock(st
-       unsigned long timeo = jiffies + HZ;
-       DECLARE_WAITQUEUE(wait, current);
-       int ret = 0;
-+      int retry_cnt = 0;
-       adr += chip->start;
-@@ -2348,6 +2354,7 @@ static int __xipram do_erase_oneblock(st
-       ENABLE_VPP(map);
-       xip_disable(map, chip, adr);
-+ retry:
-       cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-@@ -2405,6 +2412,9 @@ static int __xipram do_erase_oneblock(st
-               map_write( map, CMD(0xF0), chip->start );
-               /* FIXME - should have reset delay before continuing */
-+              if (++retry_cnt <= MAX_RETRIES)
-+                      goto retry;
-+
-               ret = -EIO;
-       }
index 20a9e3c31797a2cff820aea50be3829831e5f434..eca9ad7b1b4d4e37cd96929a29d99c66ef573b1d 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2545,7 +2545,7 @@ static int cfi_atmel_unlock(struct mtd_i
+@@ -2535,7 +2535,7 @@ static int cfi_atmel_unlock(struct mtd_i
  
  struct ppb_lock {
        struct flchip *chip;
@@ -34,7 +34,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        int locked;
  };
  
-@@ -2681,7 +2681,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2671,7 +2671,7 @@ static int __maybe_unused cfi_ppb_unlock
                 */
                if ((adr < ofs) || (adr >= (ofs + len))) {
                        sect[sectors].chip = &cfi->chips[chipnum];
@@ -43,7 +43,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                        sect[sectors].locked = do_ppb_xxlock(
                                map, &cfi->chips[chipnum], adr, 0,
                                DO_XXLOCK_ONEBLOCK_GETLOCK);
-@@ -2725,7 +2725,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2715,7 +2715,7 @@ static int __maybe_unused cfi_ppb_unlock
         */
        for (i = 0; i < sectors; i++) {
                if (sect[i].locked)
index 4388b0d0878a9853a930b1372b9ab3e2df2fa626..18dd785188f64b5d0f66b25b3e82cbcdc33c319e 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2679,7 +2679,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2669,7 +2669,7 @@ static int __maybe_unused cfi_ppb_unlock
                 * sectors shall be unlocked, so lets keep their locking
                 * status at "unlocked" (locked=0) for the final re-locking.
                 */
index b47eb1dc4d5eb2098b7c593be834b935c8cbb91b..a21dff4300e03a86062d9ad36759e71400ad9e2f 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2563,8 +2563,9 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2553,8 +2553,9 @@ static int __maybe_unused do_ppb_xxlock(
        unsigned long timeo;
        int ret;
  
@@ -35,7 +35,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        if (ret) {
                mutex_unlock(&chip->mutex);
                return ret;
-@@ -2582,8 +2583,8 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2572,8 +2573,8 @@ static int __maybe_unused do_ppb_xxlock(
  
        if (thunk == DO_XXLOCK_ONEBLOCK_LOCK) {
                chip->state = FL_LOCKING;
@@ -46,7 +46,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        } else if (thunk == DO_XXLOCK_ONEBLOCK_UNLOCK) {
                /*
                 * Unlocking of one specific sector is not supported, so we
-@@ -2621,7 +2622,7 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2611,7 +2612,7 @@ static int __maybe_unused do_ppb_xxlock(
        map_write(map, CMD(0x00), chip->start);
  
        chip->state = FL_READY;
index b55c65cb3f9a13121b18796fc0c3791c350da0bb..a6b70466646d183a42c445188b186ea4d78ddbdd 100644 (file)
@@ -70,7 +70,6 @@ ib-hfi1-fix-user-context-tail-allocation-for-dma_rtail.patch
 rdma-mlx4-discard-unknown-sqp-work-requests.patch
 xprtrdma-return-enobufs-when-no-pages-are-available.patch
 mtd-cfi_cmdset_0002-change-write-buffer-to-check-correct-value.patch
-mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch
 mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch
 mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch
 mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch
index 582b0ba6412ae7b1a14e6a99827020e91ed6ceb6..4b4f411a39a84dd02c325c8adb4c996a63c347d7 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2675,6 +2675,8 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2665,6 +2665,8 @@ static int __maybe_unused cfi_ppb_unlock
                        i++;
  
                if (adr >> cfi->chipshift) {
diff --git a/queue-4.17/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch b/queue-4.17/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch
deleted file mode 100644 (file)
index c935b2a..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-From 45f75b8a919a4255f52df454f1ffdee0e42443b2 Mon Sep 17 00:00:00 2001
-From: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-Date: Wed, 30 May 2018 18:32:28 +0900
-Subject: mtd: cfi_cmdset_0002: Change erase functions to retry for error
-
-From: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-
-commit 45f75b8a919a4255f52df454f1ffdee0e42443b2 upstream.
-
-For the word write functions it is retried for error.
-But it is not implemented to retry for the erase functions.
-To make sure for the erase functions change to retry as same.
-
-This is needed to prevent the flash erase error caused only once.
-It was caused by the error case of chip_good() in the do_erase_oneblock().
-Also it was confirmed on the MACRONIX flash device MX29GL512FHT2I-11G.
-But the error issue behavior is not able to reproduce at this moment.
-The flash controller is parallel Flash interface integrated on BCM53003.
-
-Signed-off-by: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-Reviewed-by: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
-Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
-Cc: Brian Norris <computersforpeace@gmail.com>
-Cc: David Woodhouse <dwmw2@infradead.org>
-Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
-Cc: Marek Vasut <marek.vasut@gmail.com>
-Cc: Richard Weinberger <richard@nod.at>
-Cc: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
-Cc: linux-mtd@lists.infradead.org
-Cc: stable@vger.kernel.org
-Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/mtd/chips/cfi_cmdset_0002.c |   10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2241,6 +2241,7 @@ static int __xipram do_erase_chip(struct
-       unsigned long int adr;
-       DECLARE_WAITQUEUE(wait, current);
-       int ret = 0;
-+      int retry_cnt = 0;
-       adr = cfi->addr_unlock1;
-@@ -2258,6 +2259,7 @@ static int __xipram do_erase_chip(struct
-       ENABLE_VPP(map);
-       xip_disable(map, chip, adr);
-+ retry:
-       cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-@@ -2312,6 +2314,9 @@ static int __xipram do_erase_chip(struct
-               map_write( map, CMD(0xF0), chip->start );
-               /* FIXME - should have reset delay before continuing */
-+              if (++retry_cnt <= MAX_RETRIES)
-+                      goto retry;
-+
-               ret = -EIO;
-       }
-@@ -2331,6 +2336,7 @@ static int __xipram do_erase_oneblock(st
-       unsigned long timeo = jiffies + HZ;
-       DECLARE_WAITQUEUE(wait, current);
-       int ret = 0;
-+      int retry_cnt = 0;
-       adr += chip->start;
-@@ -2348,6 +2354,7 @@ static int __xipram do_erase_oneblock(st
-       ENABLE_VPP(map);
-       xip_disable(map, chip, adr);
-+ retry:
-       cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-@@ -2405,6 +2412,9 @@ static int __xipram do_erase_oneblock(st
-               map_write( map, CMD(0xF0), chip->start );
-               /* FIXME - should have reset delay before continuing */
-+              if (++retry_cnt <= MAX_RETRIES)
-+                      goto retry;
-+
-               ret = -EIO;
-       }
index b97568eca75dd698374b797e0193a3a82a5db6df..b6a1dad5d466c5b81f7a8c063de2af324774c564 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2525,7 +2525,7 @@ static int cfi_atmel_unlock(struct mtd_i
+@@ -2515,7 +2515,7 @@ static int cfi_atmel_unlock(struct mtd_i
  
  struct ppb_lock {
        struct flchip *chip;
@@ -34,7 +34,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        int locked;
  };
  
-@@ -2661,7 +2661,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2651,7 +2651,7 @@ static int __maybe_unused cfi_ppb_unlock
                 */
                if ((adr < ofs) || (adr >= (ofs + len))) {
                        sect[sectors].chip = &cfi->chips[chipnum];
@@ -43,7 +43,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                        sect[sectors].locked = do_ppb_xxlock(
                                map, &cfi->chips[chipnum], adr, 0,
                                DO_XXLOCK_ONEBLOCK_GETLOCK);
-@@ -2705,7 +2705,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2695,7 +2695,7 @@ static int __maybe_unused cfi_ppb_unlock
         */
        for (i = 0; i < sectors; i++) {
                if (sect[i].locked)
index 34cffe1d1a3276debe844f5bf230e710ec606f17..d5e98ea5f68e6f1fd9912c42729b56f4c78db01f 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2659,7 +2659,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2649,7 +2649,7 @@ static int __maybe_unused cfi_ppb_unlock
                 * sectors shall be unlocked, so lets keep their locking
                 * status at "unlocked" (locked=0) for the final re-locking.
                 */
index 7a0a9778ccf9bd56a31928ee31b69cea398294af..3d6e2d266a11a973d922e525e1d2de3734ac9fb7 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2543,8 +2543,9 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2533,8 +2533,9 @@ static int __maybe_unused do_ppb_xxlock(
        unsigned long timeo;
        int ret;
  
@@ -35,7 +35,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        if (ret) {
                mutex_unlock(&chip->mutex);
                return ret;
-@@ -2562,8 +2563,8 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2552,8 +2553,8 @@ static int __maybe_unused do_ppb_xxlock(
  
        if (thunk == DO_XXLOCK_ONEBLOCK_LOCK) {
                chip->state = FL_LOCKING;
@@ -46,7 +46,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        } else if (thunk == DO_XXLOCK_ONEBLOCK_UNLOCK) {
                /*
                 * Unlocking of one specific sector is not supported, so we
-@@ -2601,7 +2602,7 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2591,7 +2592,7 @@ static int __maybe_unused do_ppb_xxlock(
        map_write(map, CMD(0x00), chip->start);
  
        chip->state = FL_READY;
index 13cb43de382c8221b65e4c75e685bb56f9255326..2a084671bb3d864168ae764b40b1f9f3ad81a308 100644 (file)
@@ -98,7 +98,6 @@ xprtrdma-return-enobufs-when-no-pages-are-available.patch
 rdma-core-save-kernel-caller-name-when-creating-cq-using-ib_create_cq.patch
 mtd-rawnand-do-not-check-fail-bit-when-executing-a-set_features-op.patch
 mtd-cfi_cmdset_0002-change-write-buffer-to-check-correct-value.patch
-mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch
 mtd-rawnand-denali_dt-set-clk_x_rate-to-200-mhz-unconditionally.patch
 mtd-rawnand-fix-return-value-check-for-bad-block-status.patch
 mtd-rawnand-mxc-set-spare-area-size-register-explicitly.patch
index 04ec813af0c8f43ec594d53f72f5d1b2958c0ee4..cc5b1022520edff6cbcaa0c5c64e0f28e4d0a557 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2691,6 +2691,8 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2681,6 +2681,8 @@ static int __maybe_unused cfi_ppb_unlock
                        i++;
  
                if (adr >> cfi->chipshift) {
diff --git a/queue-4.9/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch b/queue-4.9/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch
deleted file mode 100644 (file)
index b99d28d..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-From 45f75b8a919a4255f52df454f1ffdee0e42443b2 Mon Sep 17 00:00:00 2001
-From: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-Date: Wed, 30 May 2018 18:32:28 +0900
-Subject: mtd: cfi_cmdset_0002: Change erase functions to retry for error
-
-From: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-
-commit 45f75b8a919a4255f52df454f1ffdee0e42443b2 upstream.
-
-For the word write functions it is retried for error.
-But it is not implemented to retry for the erase functions.
-To make sure for the erase functions change to retry as same.
-
-This is needed to prevent the flash erase error caused only once.
-It was caused by the error case of chip_good() in the do_erase_oneblock().
-Also it was confirmed on the MACRONIX flash device MX29GL512FHT2I-11G.
-But the error issue behavior is not able to reproduce at this moment.
-The flash controller is parallel Flash interface integrated on BCM53003.
-
-Signed-off-by: Tokunori Ikegami <ikegami@allied-telesis.co.jp>
-Reviewed-by: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
-Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
-Cc: Brian Norris <computersforpeace@gmail.com>
-Cc: David Woodhouse <dwmw2@infradead.org>
-Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
-Cc: Marek Vasut <marek.vasut@gmail.com>
-Cc: Richard Weinberger <richard@nod.at>
-Cc: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
-Cc: linux-mtd@lists.infradead.org
-Cc: stable@vger.kernel.org
-Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/mtd/chips/cfi_cmdset_0002.c |   10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/drivers/mtd/chips/cfi_cmdset_0002.c
-+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2237,6 +2237,7 @@ static int __xipram do_erase_chip(struct
-       unsigned long int adr;
-       DECLARE_WAITQUEUE(wait, current);
-       int ret = 0;
-+      int retry_cnt = 0;
-       adr = cfi->addr_unlock1;
-@@ -2254,6 +2255,7 @@ static int __xipram do_erase_chip(struct
-       ENABLE_VPP(map);
-       xip_disable(map, chip, adr);
-+ retry:
-       cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-@@ -2308,6 +2310,9 @@ static int __xipram do_erase_chip(struct
-               map_write( map, CMD(0xF0), chip->start );
-               /* FIXME - should have reset delay before continuing */
-+              if (++retry_cnt <= MAX_RETRIES)
-+                      goto retry;
-+
-               ret = -EIO;
-       }
-@@ -2327,6 +2332,7 @@ static int __xipram do_erase_oneblock(st
-       unsigned long timeo = jiffies + HZ;
-       DECLARE_WAITQUEUE(wait, current);
-       int ret = 0;
-+      int retry_cnt = 0;
-       adr += chip->start;
-@@ -2344,6 +2350,7 @@ static int __xipram do_erase_oneblock(st
-       ENABLE_VPP(map);
-       xip_disable(map, chip, adr);
-+ retry:
-       cfi_send_gen_cmd(0xAA, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x55, cfi->addr_unlock2, chip->start, map, cfi, cfi->device_type, NULL);
-       cfi_send_gen_cmd(0x80, cfi->addr_unlock1, chip->start, map, cfi, cfi->device_type, NULL);
-@@ -2401,6 +2408,9 @@ static int __xipram do_erase_oneblock(st
-               map_write( map, CMD(0xF0), chip->start );
-               /* FIXME - should have reset delay before continuing */
-+              if (++retry_cnt <= MAX_RETRIES)
-+                      goto retry;
-+
-               ret = -EIO;
-       }
index af3969bd13064abbfa4d5d4595bd6035ff077a19..53cc12f968ed1598cfe1524ffaaf7770d1cf54af 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2541,7 +2541,7 @@ static int cfi_atmel_unlock(struct mtd_i
+@@ -2531,7 +2531,7 @@ static int cfi_atmel_unlock(struct mtd_i
  
  struct ppb_lock {
        struct flchip *chip;
@@ -34,7 +34,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        int locked;
  };
  
-@@ -2677,7 +2677,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2667,7 +2667,7 @@ static int __maybe_unused cfi_ppb_unlock
                 */
                if ((adr < ofs) || (adr >= (ofs + len))) {
                        sect[sectors].chip = &cfi->chips[chipnum];
@@ -43,7 +43,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                        sect[sectors].locked = do_ppb_xxlock(
                                map, &cfi->chips[chipnum], adr, 0,
                                DO_XXLOCK_ONEBLOCK_GETLOCK);
-@@ -2721,7 +2721,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2711,7 +2711,7 @@ static int __maybe_unused cfi_ppb_unlock
         */
        for (i = 0; i < sectors; i++) {
                if (sect[i].locked)
index f8f7602cf857ae7a890c391077e064a9cf128949..756813cef362837ca3cc490f14e663ae6e1b4d77 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2675,7 +2675,7 @@ static int __maybe_unused cfi_ppb_unlock
+@@ -2665,7 +2665,7 @@ static int __maybe_unused cfi_ppb_unlock
                 * sectors shall be unlocked, so lets keep their locking
                 * status at "unlocked" (locked=0) for the final re-locking.
                 */
index 5999d4b82c1e4eb2bcb49deb56de29db4e13c399..7d6a3971f149f98f09304ee599eb4166fa7a7d6c 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -2559,8 +2559,9 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2549,8 +2549,9 @@ static int __maybe_unused do_ppb_xxlock(
        unsigned long timeo;
        int ret;
  
@@ -35,7 +35,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        if (ret) {
                mutex_unlock(&chip->mutex);
                return ret;
-@@ -2578,8 +2579,8 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2568,8 +2569,8 @@ static int __maybe_unused do_ppb_xxlock(
  
        if (thunk == DO_XXLOCK_ONEBLOCK_LOCK) {
                chip->state = FL_LOCKING;
@@ -46,7 +46,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        } else if (thunk == DO_XXLOCK_ONEBLOCK_UNLOCK) {
                /*
                 * Unlocking of one specific sector is not supported, so we
-@@ -2617,7 +2618,7 @@ static int __maybe_unused do_ppb_xxlock(
+@@ -2607,7 +2608,7 @@ static int __maybe_unused do_ppb_xxlock(
        map_write(map, CMD(0x00), chip->start);
  
        chip->state = FL_READY;
index bc748624d290d2c9186917540040860c03bb77df..7078d01d4cf224318bd7491e1dc3dfe79382198e 100644 (file)
@@ -39,7 +39,6 @@ ib-isert-fix-for-lib-dma_debug-check_sync-warning.patch
 ib-isert-fix-t10-pi-check-mask-setting.patch
 rdma-mlx4-discard-unknown-sqp-work-requests.patch
 mtd-cfi_cmdset_0002-change-write-buffer-to-check-correct-value.patch
-mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch
 mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch
 mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch
 mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch