From 2c953ffdefe5887d637a6d86540cfb954ed57944 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 1 Jul 2018 12:18:16 +0200 Subject: [PATCH] drop mtd patch from 4.4 and 3.18 as it breaks the build --- ...oid-walking-all-chips-when-unlocking.patch | 2 +- ...e-erase-functions-to-retry-for-error.patch | 91 ------------------- ...02-fix-segv-unlocking-multiple-chips.patch | 6 +- ...ing-requests-crossing-a-chip-boudary.patch | 2 +- ...0002-use-right-chip-in-do_ppb_xxlock.patch | 6 +- queue-3.18/series | 1 - ...oid-walking-all-chips-when-unlocking.patch | 2 +- ...e-erase-functions-to-retry-for-error.patch | 91 ------------------- ...02-fix-segv-unlocking-multiple-chips.patch | 6 +- ...ing-requests-crossing-a-chip-boudary.patch | 2 +- ...0002-use-right-chip-in-do_ppb_xxlock.patch | 6 +- queue-4.4/series | 1 - 12 files changed, 16 insertions(+), 200 deletions(-) delete mode 100644 queue-3.18/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch delete mode 100644 queue-4.4/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch diff --git a/queue-3.18/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch b/queue-3.18/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch index 9bb816917a1..dd5c7143c3a 100644 --- a/queue-3.18/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch +++ b/queue-3.18/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch @@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2693,6 +2693,8 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2683,6 +2683,8 @@ static int __maybe_unused cfi_ppb_unlock i++; if (adr >> cfi->chipshift) { diff --git a/queue-3.18/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch b/queue-3.18/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch deleted file mode 100644 index 7dac97746fb..00000000000 --- a/queue-3.18/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 45f75b8a919a4255f52df454f1ffdee0e42443b2 Mon Sep 17 00:00:00 2001 -From: Tokunori Ikegami -Date: Wed, 30 May 2018 18:32:28 +0900 -Subject: mtd: cfi_cmdset_0002: Change erase functions to retry for error - -From: Tokunori Ikegami - -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 -Reviewed-by: Joakim Tjernlund -Cc: Chris Packham -Cc: Brian Norris -Cc: David Woodhouse -Cc: Boris Brezillon -Cc: Marek Vasut -Cc: Richard Weinberger -Cc: Cyrille Pitchen -Cc: linux-mtd@lists.infradead.org -Cc: stable@vger.kernel.org -Signed-off-by: Boris Brezillon -Signed-off-by: Greg Kroah-Hartman - ---- - 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 -@@ -2239,6 +2239,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; - -@@ -2256,6 +2257,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); -@@ -2310,6 +2312,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; - } - -@@ -2329,6 +2334,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; - -@@ -2346,6 +2352,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); -@@ -2403,6 +2410,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; - } - diff --git a/queue-3.18/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch b/queue-3.18/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch index 06a72f8267c..f5b627df84c 100644 --- a/queue-3.18/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch +++ b/queue-3.18/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch @@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2543,7 +2543,7 @@ static int cfi_atmel_unlock(struct mtd_i +@@ -2533,7 +2533,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 int locked; }; -@@ -2679,7 +2679,7 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2669,7 +2669,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 sect[sectors].locked = do_ppb_xxlock( map, &cfi->chips[chipnum], adr, 0, DO_XXLOCK_ONEBLOCK_GETLOCK); -@@ -2723,7 +2723,7 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2713,7 +2713,7 @@ static int __maybe_unused cfi_ppb_unlock */ for (i = 0; i < sectors; i++) { if (sect[i].locked) diff --git a/queue-3.18/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch b/queue-3.18/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch index cffa2615138..ed8e40e743d 100644 --- a/queue-3.18/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch +++ b/queue-3.18/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch @@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2677,7 +2677,7 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2667,7 +2667,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. */ diff --git a/queue-3.18/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch b/queue-3.18/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch index 1777e61fba5..de8019540b7 100644 --- a/queue-3.18/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch +++ b/queue-3.18/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch @@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2561,8 +2561,9 @@ static int __maybe_unused do_ppb_xxlock( +@@ -2551,8 +2551,9 @@ static int __maybe_unused do_ppb_xxlock( unsigned long timeo; int ret; @@ -35,7 +35,7 @@ Signed-off-by: Greg Kroah-Hartman if (ret) { mutex_unlock(&chip->mutex); return ret; -@@ -2580,8 +2581,8 @@ static int __maybe_unused do_ppb_xxlock( +@@ -2570,8 +2571,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 } else if (thunk == DO_XXLOCK_ONEBLOCK_UNLOCK) { /* * Unlocking of one specific sector is not supported, so we -@@ -2619,7 +2620,7 @@ static int __maybe_unused do_ppb_xxlock( +@@ -2609,7 +2610,7 @@ static int __maybe_unused do_ppb_xxlock( map_write(map, CMD(0x00), chip->start); chip->state = FL_READY; diff --git a/queue-3.18/series b/queue-3.18/series index 53db04a5182..72f9b97efe2 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -61,7 +61,6 @@ powerpc-ptrace-fix-enforcement-of-dawr-constraints.patch powerpc-fadump-unregister-fadump-on-kexec-down-path.patch arm-8764-1-kgdb-fix-numregbytes-so-that-gdb_regs-is-the-correct-size.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 diff --git a/queue-4.4/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch b/queue-4.4/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch index 9bb816917a1..dd5c7143c3a 100644 --- a/queue-4.4/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch +++ b/queue-4.4/mtd-cfi_cmdset_0002-avoid-walking-all-chips-when-unlocking.patch @@ -22,7 +22,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2693,6 +2693,8 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2683,6 +2683,8 @@ static int __maybe_unused cfi_ppb_unlock i++; if (adr >> cfi->chipshift) { diff --git a/queue-4.4/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch b/queue-4.4/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch deleted file mode 100644 index 7dac97746fb..00000000000 --- a/queue-4.4/mtd-cfi_cmdset_0002-change-erase-functions-to-retry-for-error.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 45f75b8a919a4255f52df454f1ffdee0e42443b2 Mon Sep 17 00:00:00 2001 -From: Tokunori Ikegami -Date: Wed, 30 May 2018 18:32:28 +0900 -Subject: mtd: cfi_cmdset_0002: Change erase functions to retry for error - -From: Tokunori Ikegami - -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 -Reviewed-by: Joakim Tjernlund -Cc: Chris Packham -Cc: Brian Norris -Cc: David Woodhouse -Cc: Boris Brezillon -Cc: Marek Vasut -Cc: Richard Weinberger -Cc: Cyrille Pitchen -Cc: linux-mtd@lists.infradead.org -Cc: stable@vger.kernel.org -Signed-off-by: Boris Brezillon -Signed-off-by: Greg Kroah-Hartman - ---- - 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 -@@ -2239,6 +2239,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; - -@@ -2256,6 +2257,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); -@@ -2310,6 +2312,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; - } - -@@ -2329,6 +2334,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; - -@@ -2346,6 +2352,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); -@@ -2403,6 +2410,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; - } - diff --git a/queue-4.4/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch b/queue-4.4/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch index 06a72f8267c..f5b627df84c 100644 --- a/queue-4.4/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch +++ b/queue-4.4/mtd-cfi_cmdset_0002-fix-segv-unlocking-multiple-chips.patch @@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2543,7 +2543,7 @@ static int cfi_atmel_unlock(struct mtd_i +@@ -2533,7 +2533,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 int locked; }; -@@ -2679,7 +2679,7 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2669,7 +2669,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 sect[sectors].locked = do_ppb_xxlock( map, &cfi->chips[chipnum], adr, 0, DO_XXLOCK_ONEBLOCK_GETLOCK); -@@ -2723,7 +2723,7 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2713,7 +2713,7 @@ static int __maybe_unused cfi_ppb_unlock */ for (i = 0; i < sectors; i++) { if (sect[i].locked) diff --git a/queue-4.4/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch b/queue-4.4/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch index cffa2615138..ed8e40e743d 100644 --- a/queue-4.4/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch +++ b/queue-4.4/mtd-cfi_cmdset_0002-fix-unlocking-requests-crossing-a-chip-boudary.patch @@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2677,7 +2677,7 @@ static int __maybe_unused cfi_ppb_unlock +@@ -2667,7 +2667,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. */ diff --git a/queue-4.4/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch b/queue-4.4/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch index 1777e61fba5..de8019540b7 100644 --- a/queue-4.4/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch +++ b/queue-4.4/mtd-cfi_cmdset_0002-use-right-chip-in-do_ppb_xxlock.patch @@ -24,7 +24,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -2561,8 +2561,9 @@ static int __maybe_unused do_ppb_xxlock( +@@ -2551,8 +2551,9 @@ static int __maybe_unused do_ppb_xxlock( unsigned long timeo; int ret; @@ -35,7 +35,7 @@ Signed-off-by: Greg Kroah-Hartman if (ret) { mutex_unlock(&chip->mutex); return ret; -@@ -2580,8 +2581,8 @@ static int __maybe_unused do_ppb_xxlock( +@@ -2570,8 +2571,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 } else if (thunk == DO_XXLOCK_ONEBLOCK_UNLOCK) { /* * Unlocking of one specific sector is not supported, so we -@@ -2619,7 +2620,7 @@ static int __maybe_unused do_ppb_xxlock( +@@ -2609,7 +2610,7 @@ static int __maybe_unused do_ppb_xxlock( map_write(map, CMD(0x00), chip->start); chip->state = FL_READY; diff --git a/queue-4.4/series b/queue-4.4/series index 82e7b9d62b4..7621ce612cd 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -52,7 +52,6 @@ ib-mlx4-mark-user-mr-as-writable-if-actual-virtual-memory-is-writable.patch ib-isert-fix-for-lib-dma_debug-check_sync-warning.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 -- 2.47.3