Re: [PATCH 10/12] mtd: nand: read ECC algorithm from the new field

Rafał Miłecki
2016-04-17T16:27:42Z

On 16 April 2016 at 09:58, Boris Brezillon
<boris.brezillon@free-electrons.com> wrote:
> On Fri, 15 Apr 2016 21:54:10 +0200
> Rafał Miłecki <zajec5@gmail.com> wrote:
>
>> Now we have all drivers properly setting this new field we can start
>> using it and proceed with deprecating NAND_ECC_SOFT_BCH.
>>
>> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
>> ---
>> drivers/mtd/nand/nand_base.c | 98 ++++++++++++++++++++++++--------------------
>> 1 file changed, 53 insertions(+), 45 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
>> index e1f3cf8..ffd1b32 100644
>> --- a/drivers/mtd/nand/nand_base.c
>> +++ b/drivers/mtd/nand/nand_base.c
>> @@ -4154,7 +4154,7 @@ int nand_scan_tail(struct mtd_info *mtd)
>> /*
>> * If no default placement scheme is given, select an appropriate one.
>> */
>> - if (!mtd->ooblayout && (ecc->mode != NAND_ECC_SOFT_BCH)) {
>> + if (!mtd->ooblayout && ecc->algo != NAND_ECC_BCH) {
>
> Should be:
>
> if (!mtd->ooblayout && ecc->algo == NAND_ECC_SOFT &&
> ecc->algo != NAND_ECC_BCH) {
>
> Otherwise you're also taking the NAND_ECC_HW + NAND_ECC_BCH into
> account.

Pretty much yes, but without
[PATCH 11/12] of: mtd: drop support for NAND_ECC_SOFT_BCH as "soft_bch" mapping
we may be getting NAND_ECC_SOFT as well as NAND_ECC_SOFT_BCH. And
11/12 can't be applied before 10/12. We'll need to support both values
for this very short moment (after 10/12 but before 11/12).