• Martin Kepplinger's avatar
    mtd: rawnand: gpmi: fix MX28 bus master lockup problem · 73dea6bb
    Martin Kepplinger authored
    commit d5d27fd9 upstream.
    
    Disable BCH soft reset according to MX23 erratum #2847 ("BCH soft
    reset may cause bus master lock up") for MX28 too. It has the same
    problem.
    
    Observed problem: once per 100,000+ MX28 reboots NAND read failed on
    DMA timeout errors:
    [    1.770823] UBI: attaching mtd3 to ubi0
    [    2.768088] gpmi_nand: DMA timeout, last DMA :1
    [    3.958087] gpmi_nand: BCH timeout, last DMA :1
    [    4.156033] gpmi_nand: Error in ECC-based read: -110
    [    4.161136] UBI warning: ubi_io_read: error -110 while reading 64
    bytes from PEB 0:0, read only 0 bytes, retry
    [    4.171283] step 1 error
    [    4.173846] gpmi_nand: Chip: 0, Error -1
    
    Without BCH soft reset we successfully executed 1,000,000 MX28 reboots.
    
    I have a quote from NXP regarding this problem, from July 18th 2016:
    
    "As the i.MX23 and i.MX28 are of the same generation, they share many
    characteristics. Unfortunately, also the erratas may be shared.
    In case of the documented erratas and the workarounds, you can also
    apply the workaround solution of one device on the other one. This have
    been reported, but I’m afraid that there are not an estimated date for
    updating the Errata documents.
    Please accept our apologies for any inconveniences this may cause."
    
    Fixes: 6f2a6a52 ("mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarManfred Schlaegl <manfred.schlaegl@ginzinger.com>
    Signed-off-by: default avatarMartin Kepplinger <martin.kepplinger@ginzinger.com>
    Reviewed-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
    Reviewed-by: Fabio Estevam's avatarFabio Estevam <festevam@gmail.com>
    Acked-by: default avatarHan Xu <han.xu@nxp.com>
    Signed-off-by: default avatarBoris Brezillon <bbrezillon@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    73dea6bb
Name
Last commit
Last update
Documentation Loading commit data...
LICENSES Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.clang-format Loading commit data...
.cocciconfig Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...