On Fri, Oct 21, 2022 at 2:55 PM Tim Harvey tharvey@gateworks.com wrote:
On Fri, Sep 2, 2022 at 12:03 AM Miquel Raynal miquel.raynal@bootlin.com wrote:
Hey folks,
richard@nod.at wrote on Fri, 15 Jul 2022 09:59:10 +0200 (CEST):
----- Ursprüngliche Mail -----
My IRC history doesn't go back far enough, but if I recall correctly Miquel is on vacation, he would have picked up this patch for linux-next otherwise.
Exactly.
Indeed, I was off for an extended period of time, I'm (very) slowly catching up now.
Ok, let me do a round of stable releases so that people don't get hit by this now...
Thanks a lot for doing so.
Hopefully this gets fixed up by 5.19-final.
Sure, I'll pickup this patch.
Thanks Greg & Richard for the handling of this issue.
Cheers, Miquèl
Hello All,
As Tomasz stated previously 06781a5026350 was merged in v5.19-rc4 and then was picked up by several stable kernels. While this made it into the 5.15 and 5.18 stable branches it did not make it into the following which are thus the are currently broken: 5.10.y 5.17.y
How do we get this patch applied to those stable branches as well to resolve this?
Best regards,
Some more details here as I also find that stable 5.4 is broken as well 5.10 and 5.17:
The issue I see here is on a Gateworks imx6q-gw54xx board with a 2GiB Cypress NAND part [ 2.703324] nand: device found, Manufacturer ID: 0x01, Chip ID: 0xd5 [ 2.709815] nand: AMD/Spansion S34ML16G2 [ 2.713758] nand: 2048 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 128 [ 2.721990] Scanning device for bad blocks [ 2.727025] Bad eraseblock 0 at 0x000000000000 [ 2.731628] Bad eraseblock 1 at 0x000000020000 [ 2.736191] Bad eraseblock 2 at 0x000000040000 ...
The original regression was from commit d99e7feaed4c: ("mtd: rawnand: gpmi: fix controller timings setting") which was fixed by commit 156427b3123c ("mtd: rawnand: gpmi: Fix setting busy timeout setting") but later deemed to be an invalid fix so that got reverted (thus breaking things again) and fixed instead with commit 0fddf9ad06fd ("mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times") which did not make it into all the stable branches that had the original commit or the revert of the potential fix.
Here is history of each stable branch affected as best I can tell (I've actually built/booted all of these trying to understand this so fixed/broken refers to the issue I see above):
v5.4: - v5.4.189 broken with commit 0d0ee651e72c: ("mtd: rawnand: gpmi: fix controller timings setting") - v5.4.202 fixed with commit 71c76f56b97c: ("mtd: rawnand: gpmi: Fix setting busy timeout setting") - v5.4.206 broken with commit 15a3adfe7593: ("Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting"") *** still broken as of v5.4.219 but can be fixed by commit 0fddf9ad06fd ("mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times")
v5.10: - v5.10.110 broken with commit d99e7feaed4c: ("mtd: rawnand: gpmi: fix controller timings setting") - v5.10.127 fixed with commit 156427b3123c ("mtd: rawnand: gpmi: Fix setting busy timeout setting") - v5.10.131 broken with commit cc5ee0e0eed0 Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting" *** still broken as of v5.10.149 but can be fixed by commit 0fddf9ad06fd ("mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times")
v5.15: - v5.15.33 broken with commit 8480efe815e5: ("mtd: rawnand: gpmi: fix controller timings setting") - v5.15.51 fixed with commit 0af674e7a764: ("mtd: rawnand: gpmi: Fix setting busy timeout setting") - v5.15.55 broken with commit c80b15105a08 ("Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting"") - v5.15.58 fixed with commit 212a5360ef40 ("mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times")
v5.17: - v5.17.2 broken with commit 4b2eed1d1ee8 ("mtd: rawnand: gpmi: fix controller timings setting") *** still broken as of v5.17.15 but can be fixed by commit 0fddf9ad06fd ("mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times")
v5.18: - v5.18-rc2 broken with commit 2970bf5a32f0 mtd: rawnand: gpmi: fix controller timings setting - v5.18.8 fixed with commit 8d45b05f7eaf: ("mtd: rawnand: gpmi: Fix setting busy timeout setting") - v5.18.12 broken with commit f8d01e0f004a: ("Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting"") - v5.18.15 fixed with commit c283223e769d: ("mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times")
v5.19: - v5.19-rc3 broken by commit 06781a502635: ("mtd: rawnand: gpmi: Fix setting busy timeout setting") - v5.19-rc7 fixed by commit 0fddf9ad06fd: ("mtd: rawnand: gpmi: Set WAIT_FOR_READY timeout based on program/erase times")
Best Regards,
Tim