From 35c991e55376ef7190c33b6164e3d35ed5d80020 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 18 Apr 2014 09:12:19 +0200 Subject: [PATCH] usb:gadget:f_thor: fix write to filesystem by add dfu_flush() Since dfu read/write operations needs to be flushed manually, writing to filesystem on MMC by thor was broken. MMC raw write actually is working fine because current dfu_flush() function writes filesystem only. This commit adds dfu_flush() to f_thor and now filesystem write is working. This change was tested on Trats2 board. Signed-off-by: Przemyslaw Marczak Cc: Lukasz Majewski Cc: Marek Vasut Cc: Heiko Schocher Cc: Tom Rini --- drivers/usb/gadget/f_thor.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c index b5a199ae10..cdf34c8c31 100644 --- a/drivers/usb/gadget/f_thor.c +++ b/drivers/usb/gadget/f_thor.c @@ -238,15 +238,15 @@ static int download_tail(long long int left, int cnt) } /* - * To store last "packet" DFU storage backend requires dfu_write with - * size parameter equal to 0 + * To store last "packet" or write file from buffer to filesystem + * DFU storage backend requires dfu_flush * * This also frees memory malloc'ed by dfu_get_buf(), so no explicit * need fo call dfu_free_buf() is needed. */ - ret = dfu_write(dfu_entity, transfer_buffer, 0, cnt); + ret = dfu_flush(dfu_entity, transfer_buffer, 0, cnt); if (ret) - error("DFU write failed [%d] cnt: %d", ret, cnt); + error("DFU flush failed!"); exit: return ret; -- 2.34.1