mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
dfu: dfu_mtd: remove the mtd_block_op error when mtd_lock is not supported
Fix the result of DFU_OP_WRITE operation in mtd_block_op function
when mtd_lock is not supported (-EOPNOTSUPP) to avoid DFU stack
error on the DFU manifestation of the MTD device, when
dfu_flush_medium_mtd is called.
Without this patch, dfu-util failed on dfuERROR state at the end
of the write operation on the alternate even if MTD write
opeartion is correctly performed.
$> dfu-util -a 3 -D test.bin
....
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
....
Download [=========================] 100% 225469 bytes
Download done.
state(10) = dfuERROR, status(14) = Something went wrong,
but the device does not know what it was Done!
Fixes: 65f3fc18fc
("dfu_mtd: Add provision to unlock mtd device")
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Acked-by: Sughosh Ganu <sughosh.ganu@linaro.org>
This commit is contained in:
parent
aab8b17e94
commit
a5bb384caa
1 changed files with 3 additions and 1 deletions
|
@ -150,7 +150,9 @@ static int mtd_block_op(enum dfu_op op, struct dfu_entity *dfu,
|
|||
/* Write done, lock again */
|
||||
debug("Locking the mtd device\n");
|
||||
ret = mtd_lock(mtd, lock_ofs, lock_len);
|
||||
if (ret && ret != -EOPNOTSUPP)
|
||||
if (ret == -EOPNOTSUPP)
|
||||
ret = 0;
|
||||
else if (ret)
|
||||
printf("MTD device lock failed\n");
|
||||
}
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue