mtd: rawnand: print offset instead of page number for bad blocks
This makes printed info consistent with other kernel messages. After scanning NAND BBT create_bbt() prints offset of each bad block. This change makes is easy to verify nand_erase_nand() failure reason. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20220326163304.30806-1-zajec5@gmail.com
This commit is contained in:
Родитель
54647cd003
Коммит
f7c48bccf1
|
@ -4502,11 +4502,13 @@ int nand_erase_nand(struct nand_chip *chip, struct erase_info *instr,
|
|||
len = instr->len;
|
||||
|
||||
while (len) {
|
||||
loff_t ofs = (loff_t)page << chip->page_shift;
|
||||
|
||||
/* Check if we have a bad block, we do not erase bad blocks! */
|
||||
if (nand_block_checkbad(chip, ((loff_t) page) <<
|
||||
chip->page_shift, allowbbt)) {
|
||||
pr_warn("%s: attempt to erase a bad block at page 0x%08x\n",
|
||||
__func__, page);
|
||||
pr_warn("%s: attempt to erase a bad block at 0x%08llx\n",
|
||||
__func__, (unsigned long long)ofs);
|
||||
ret = -EIO;
|
||||
goto erase_exit;
|
||||
}
|
||||
|
@ -4524,8 +4526,7 @@ int nand_erase_nand(struct nand_chip *chip, struct erase_info *instr,
|
|||
if (ret) {
|
||||
pr_debug("%s: failed erase, page 0x%08x\n",
|
||||
__func__, page);
|
||||
instr->fail_addr =
|
||||
((loff_t)page << chip->page_shift);
|
||||
instr->fail_addr = ofs;
|
||||
goto erase_exit;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче