bad-block skipping
Matteo Facchinetti
matteo.facchinetti at sirius-es.it
Fri Jan 10 05:15:13 EST 2014
Hello,
I'm porting a MTD nand controller driver from kernel 3.9.4 to 3.13.0-rc2.
I need help because when I try to erase my nand flash partition in
version 3.13, I have errors that never seen before (in version 3.9.4).
In detail, with flash_erase command:
# flash_erase /dev/mtd1 0 0
I'm expecting this output when it encounters a bad block:
...
Skipping bad block at <block number>
...
But, in my porting, I have the following output: [see at the end]
Where the first is a bad block and the last 4 blocks are reserved for BBT.
Why it occurs?
Best regards,
Matteo
# flash_erase /dev/mtd1 0 0
Erasing 10[ 150.438406] 00000 -- 78 % complete
[ 150.438406] nand_isbad_bbt(): bbt info for offs 0xd9900000: (block
3481) 0x03
24 Kibyte @ 97300[ 150.448181] nand_erase_nand: attempt to erase a bad
block at page 0x000d9900
Erasing 1024 Kibyte @ 99900000 -- 79 % complete libmtd: error!:
MEMERASE64 ioctl failed for eraseblock 2457 (mtd1)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd1: MTD Erase failure
error 5 (Input/output error)
Erasing 1024 Kibyte @ bce00000 -- 98 % comple[ 153.088655]
[ 153.088655] nand_isbad_bbt(): bbt info for offs 0xffc00000: (block
4092) 0x02
Erasing 1024
[ 153.098015] nand_erase_nand: attempt to erase a bad block at page
0x000ffc00
Kibyte @ bcf0000[ 153.107567]
[ 153.107567] nand_isbad_bbt(): bbt info for offs 0xffd00000: (block
4093) 0x02
0 -- 98 % comple
[ 153.117023] nand_erase_nand: attempt to erase a bad block at page
0x000ffd00
Erasing 1024 Kibyte @ bd000[ 153.126848]
[ 153.126848] nand_isbad_bbt(): bbt info for offs 0xffe00000: (block
4094) 0x02
000 -- 98 % comp
[ 153.137194] nand_erase_nand: attempt to erase a bad block at page
0x000ffe00
Erasing 10[ 153.146438]
[ 153.146438] nand_isbad_bbt(): bbt info for offs 0xfff00000: (block
4095) 0x02
24 Kibyte @ bd10
[ 153.156029] nand_erase_nand: attempt to erase a bad block at page
0x000fff00
Erasing 1024 Kibyte @ bfc00000 -- 99 % complete libmtd: error!:
MEMERASE64 ioctl failed for eraseblock 3068 (mtd1)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd1: MTD Erase failure
error 5 (Input/output error)
Erasing 1024 Kibyte @ bfd00000 -- 99 % complete libmtd: error!:
MEMERASE64 ioctl failed for eraseblock 3069 (mtd1)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd1: MTD Erase failure
error 5 (Input/output error)
Erasing 1024 Kibyte @ bfe00000 -- 99 % complete libmtd: error!:
MEMERASE64 ioctl failed for eraseblock 3070 (mtd1)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd1: MTD Erase failure
error 5 (Input/output error)
Erasing 1024 Kibyte @ bff00000 -- 99 % complete libmtd: error!:
MEMERASE64 ioctl failed for eraseblock 3071 (mtd1)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd1: MTD Erase failure
error 5 (Input/output error)
Erasing 1024 Kibyte @ bff00000 -- 100 % complete
More information about the linux-mtd
mailing list