dfu: dfu_mtd: remove the mtd_block_op error when mtd_lock is not supported
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Wed, 10 Mar 2021 09:27:22 +0000 (10:27 +0100)
committerPatrick Delaunay <patrick.delaunay@foss.st.com>
Fri, 28 May 2021 09:21:51 +0000 (11:21 +0200)
commita5bb384caa050660220270beb19452bbe927a72b
treec1b40d86fc8fb47657b6f03d5b19af0ae64edb4c
parentaab8b17e94c447561a402bc7508b73fd8ee712e5
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: 65f3fc18fc1e ("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>
drivers/dfu/dfu_mtd.c