]> git.baikalelectronics.ru Git - kernel.git/commit
mtd: rawnand: marvell: fix command xtype in BCH write hook
authorMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 3 May 2018 10:00:27 +0000 (12:00 +0200)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Fri, 4 May 2018 08:35:04 +0000 (10:35 +0200)
commit403498f0b6d54603eb81ff548b656dd02a058115
tree35cb0246462a5b28e663c01b92e21d84417cad40
parentc7b15aabacc93828bbd366f0e3009c249fb1b972
mtd: rawnand: marvell: fix command xtype in BCH write hook

One layout supported by the Marvell NAND controller supports NAND pages
of 2048 bytes, all handled in one single chunk when using BCH with a
strength of 4-bit per 512 bytes. In this case, instead of the generic
XTYPE_WRITE_DISPATCH/XTYPE_LAST_NAKED_RW couple, the controller expects
to receive XTYPE_MONOLITHIC_RW.

This fixes problems at boot like:

[    1.315475] Scanning device for bad blocks
[    3.203108] marvell-nfc f10d0000.flash: Timeout waiting for RB signal
[    3.209564] nand_bbt: error while writing BBT block -110
[    4.243106] marvell-nfc f10d0000.flash: Timeout waiting for RB signal
[    5.283106] marvell-nfc f10d0000.flash: Timeout waiting for RB signal
[    5.289562] nand_bbt: error -110 while marking block 2047 bad
[    6.323106] marvell-nfc f10d0000.flash: Timeout waiting for RB signal
[    6.329559] nand_bbt: error while writing BBT block -110
[    7.363106] marvell-nfc f10d0000.flash: Timeout waiting for RB signal
[    8.403105] marvell-nfc f10d0000.flash: Timeout waiting for RB signal
[    8.409559] nand_bbt: error -110 while marking block 2046 bad
...

Fixes: 5baaedafa95fd ("mtd: nand: add reworked Marvell NAND controller driver")
Cc: stable@vger.kernel.org
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Tested-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
drivers/mtd/nand/raw/marvell_nand.c