On Thu, 11 Oct 2018 13:06:16 +0200 Arnd Bergmann <arnd@xxxxxxxx> wrote: > I noticed during the creation of another bugfix that the BCH_CONST_PARAMS > option that is set by DOCG3 breaks setting variable parameters for any > other users of the BCH library code. > > The only other user we have today is the MTD_NAND software BCH > implementation (most flash controllers use hardware BCH these days > and are not affected). I considered removing BCH_CONST_PARAMS entirely > because of the inherent conflict, but according to the description in > lib/bch.c there is a significant performance benefit in keeping it. > > To avoid the immediate problem of the conflict between MTD_NAND_BCH > and DOCG3, this only sets the constant parameters if MTD_NAND_BCH > is disabled, which should fix the problem for all cases that > are affected. This should also work for all stable kernels. > > Note that there is only one machine that actually seems to use the > DOCG3 driver (arch/arm/mach-pxa/mioa701.c), so most users should have > the driver disabled, but it almost certainly shows up if we wanted > to test random kernels on machines that use software BCH in MTD. > > Fixes: d13d19ece39f ("mtd: docg3: add ECC correction code") > Cc: stable@xxxxxxxxxxxxxxx > Cc: Robert Jarzmik <robert.jarzmik@xxxxxxx> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Applied. Thanks, Boris > --- > drivers/mtd/devices/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig > index e514d57a0419..aa983422aa97 100644 > --- a/drivers/mtd/devices/Kconfig > +++ b/drivers/mtd/devices/Kconfig > @@ -207,7 +207,7 @@ comment "Disk-On-Chip Device Drivers" > config MTD_DOCG3 > tristate "M-Systems Disk-On-Chip G3" > select BCH > - select BCH_CONST_PARAMS > + select BCH_CONST_PARAMS if !MTD_NAND_BCH > select BITREVERSE > help > This provides an MTD device driver for the M-Systems DiskOnChip