Message ID | 1398246231-22214-2-git-send-email-p.marczak@samsung.com |
---|---|
State | Superseded |
Delegated to: | Marek Vasut |
Headers | show |
Hi Przemyslaw, > 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 <p.marczak@samsung.com> > Cc: Lukasz Majewski <l.majewski@samsung.com> > Cc: Marek Vasut <marex@denx.de> > Cc: Heiko Schocher <hs@denx.de> > Cc: Tom Rini <trini@ti.com> > > --- > Changes v2: > - separate fix and cleanup into two commits > > Changes v3: > - none > > --- > drivers/usb/gadget/f_thor.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c > index 1190c74..1420606 100644 > --- a/drivers/usb/gadget/f_thor.c > +++ b/drivers/usb/gadget/f_thor.c > @@ -226,8 +226,14 @@ static int download_tail(long long int left, int > cnt) > * need fo call dfu_free_buf() is needed. > */ > ret = dfu_write(dfu_entity, transfer_buffer, 0, cnt); I think this dfu_write() call can be now removed, since what we expect now is to call the dfu_flush() here. After this change please accordingly update the above comment. > - if (ret) > + if (ret) { > error("DFU write failed [%d] cnt: %d", ret, cnt); > + goto exit; > + } > + > + ret = dfu_flush(dfu_entity, transfer_buffer, 0, cnt); > + if (ret) > + error("DFU flush failed!"); > > exit: > return ret;
On Wednesday, April 23, 2014 at 02:40:52 PM, Lukasz Majewski wrote: > Hi Przemyslaw, > > > 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 <p.marczak@samsung.com> > > Cc: Lukasz Majewski <l.majewski@samsung.com> > > Cc: Marek Vasut <marex@denx.de> > > Cc: Heiko Schocher <hs@denx.de> > > Cc: Tom Rini <trini@ti.com> Please submit new patches on top of u-boot-usb/master , thanks. Best regards, Marek Vasut
diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c index 1190c74..1420606 100644 --- a/drivers/usb/gadget/f_thor.c +++ b/drivers/usb/gadget/f_thor.c @@ -226,8 +226,14 @@ static int download_tail(long long int left, int cnt) * need fo call dfu_free_buf() is needed. */ ret = dfu_write(dfu_entity, transfer_buffer, 0, cnt); - if (ret) + if (ret) { error("DFU write failed [%d] cnt: %d", ret, cnt); + goto exit; + } + + ret = dfu_flush(dfu_entity, transfer_buffer, 0, cnt); + if (ret) + error("DFU flush failed!"); exit: return ret;
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 <p.marczak@samsung.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Marek Vasut <marex@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Tom Rini <trini@ti.com> --- Changes v2: - separate fix and cleanup into two commits Changes v3: - none --- drivers/usb/gadget/f_thor.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)