|
@@ -2069,13 +2069,14 @@ int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr,
|
|
|
erase_exit:
|
|
|
|
|
|
ret = instr->state == MTD_ERASE_DONE ? 0 : -EIO;
|
|
|
- /* Do call back function */
|
|
|
- if (!ret)
|
|
|
- mtd_erase_callback(instr);
|
|
|
|
|
|
/* Deselect and wake up anyone waiting on the device */
|
|
|
nand_release_device(mtd);
|
|
|
|
|
|
+ /* Do call back function */
|
|
|
+ if (!ret)
|
|
|
+ mtd_erase_callback(instr);
|
|
|
+
|
|
|
/*
|
|
|
* If BBT requires refresh and erase was successful, rewrite any
|
|
|
* selected bad block tables
|