From d5d3407e66dedb3ba2b3bf1baae060b78b3929bd Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Thu, 24 Apr 2014 15:01:13 +0200 Subject: [PATCH] drivers:dfu: dfu_flush(): add raw data flush Before dfuwrite and flush operations separation, dfu write data was flushed by host download request with len of zero size. Since above change manually calling dfu write with zero size has non sense (e.g. in THOR). This should be done by flush operation. So now dfu_write_buffer_drain() is called in dfu_flush(). If there is any raw data to flush (like it can be in thor) then it will be physically written to medium. Signed-off-by: Przemyslaw Marczak --- drivers/dfu/dfu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index 422cdba84d..51d6d71615 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -149,6 +149,10 @@ int dfu_flush(struct dfu_entity *dfu, void *buf, int size, int blk_seq_num) { int ret = 0; + ret = dfu_write_buffer_drain(dfu); + if (ret) + return ret; + if (dfu->flush_medium) ret = dfu->flush_medium(dfu); -- 2.34.1