mirror of https://gitee.com/openkylin/linux.git
mtd: Initialize ->fail_addr early in mtd_erase()
mtd_erase() can return an error before ->fail_addr is initialized to MTD_FAIL_ADDR_UNKNOWN. Move this initialization at the very beginning of the function. Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com> Reviewed-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
f0a37a8db8
commit
c585da9f5f
|
@ -953,6 +953,8 @@ EXPORT_SYMBOL_GPL(__put_mtd_device);
|
|||
*/
|
||||
int mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
|
||||
{
|
||||
instr->fail_addr = MTD_FAIL_ADDR_UNKNOWN;
|
||||
|
||||
if (!mtd->erasesize || !mtd->_erase)
|
||||
return -ENOTSUPP;
|
||||
|
||||
|
@ -961,7 +963,6 @@ int mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
|
|||
if (!(mtd->flags & MTD_WRITEABLE))
|
||||
return -EROFS;
|
||||
|
||||
instr->fail_addr = MTD_FAIL_ADDR_UNKNOWN;
|
||||
if (!instr->len) {
|
||||
instr->state = MTD_ERASE_DONE;
|
||||
mtd_erase_callback(instr);
|
||||
|
|
Loading…
Reference in New Issue