On 2018-05-26 14:28, Miquel Raynal wrote:
Hi Abhishek,


@@ -2141,12 +2127,10 @@ static int qcom_nandc_block_bad(struct mtd_info *mtd, loff_t ofs)
                goto err;
        }

-       bbpos = mtd->writesize - host->cw_size * (ecc->steps - 1);
-
-       bad = nandc->data_buffer[bbpos] != 0xff;
+       bad = bbm_bytes_buf[0] != 0xff;

BTW, as there are host->bbm_size bytes that can inform on the block
state, don't we need to check all of them?


 We are checking all of them.
 host->bbm_size will be either 1 (for NAND_BUSWIDTH_8) or
 2 (for NAND_BUSWIDTH_16).

https://elixir.bootlin.com/linux/v4.17-rc7/source/drivers/mtd/nand/raw/qcom_nandc.c#L2347

 Thanks,
 Abhishek


        if (chip->options & NAND_BUSWIDTH_16)
-               bad = bad || (nandc->data_buffer[bbpos + 1] != 0xff);
+               bad = bad || (bbm_bytes_buf[1] != 0xff);
 err:
        return bad;
 }

Thanks,
Miquèl

Reply via email to