Re: [PATCH v3 13/16] mtd: rawnand: qcom: minor code reorganization for bad block check

From: Abhishek Sahu
Date: Mon May 28 2018 - 02:17:01 EST


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