diff mbox

[U-Boot] sf: call callback even if the mtd erase failed

Message ID 1450928451-12725-1-git-send-email-thomas@wytron.com.tw
State Rejected
Delegated to: Jagannadha Sutradharudu Teki
Headers show

Commit Message

Thomas Chou Dec. 24, 2015, 3:40 a.m. UTC
Erase is an asynchronous operation.  Device drivers are supposed
to call instr->callback() whenever the operation completes, even
if it completes with a failure.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
---
 drivers/mtd/spi/sf_mtd.c | 1 +
 1 file changed, 1 insertion(+)
diff mbox

Patch

diff --git a/drivers/mtd/spi/sf_mtd.c b/drivers/mtd/spi/sf_mtd.c
index 0b9cb62..6140a35 100644
--- a/drivers/mtd/spi/sf_mtd.c
+++ b/drivers/mtd/spi/sf_mtd.c
@@ -24,6 +24,7 @@  static int spi_flash_mtd_erase(struct mtd_info *mtd, struct erase_info *instr)
 	if (err) {
 		instr->state = MTD_ERASE_FAILED;
 		instr->fail_addr = MTD_FAIL_ADDR_UNKNOWN;
+		mtd_erase_callback(instr);
 		return -EIO;
 	}