On Thu, 11 Oct 2018 13:06:16 +0200
Arnd Bergmann <a...@arndb.de> 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: sta...@vger.kernel.org
> Cc: Robert Jarzmik <robert.jarz...@free.fr>
> Signed-off-by: Arnd Bergmann <a...@arndb.de>

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

Reply via email to