|
@@ -1711,13 +1711,14 @@ static int onenand_erase(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 */
|
|
|
onenand_release_device(mtd);
|
|
|
|
|
|
+ /* Do call back function */
|
|
|
+ if (!ret)
|
|
|
+ mtd_erase_callback(instr);
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|