summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-05-22 13:42:26 -0400
committerTom Rini <trini@ti.com>2014-05-22 13:42:26 -0400
commit8e3812859670fda61b98458864fa9f014fcd3dcc (patch)
tree059ebfe928823ba398beca7d4bd39da7a28481cc /drivers/usb/gadget
parentc9afa7cea84c9b7346fcd2710577bcc386631aba (diff)
parentc8151b4a5de136ea2c2a0e6e9aec481810ee0460 (diff)
downloadtalos-obmc-uboot-8e3812859670fda61b98458864fa9f014fcd3dcc.tar.gz
talos-obmc-uboot-8e3812859670fda61b98458864fa9f014fcd3dcc.zip
Merge branch 'pr-15052014' of git://git.denx.de/u-boot-usb
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/ci_udc.c2
-rw-r--r--drivers/usb/gadget/f_thor.c12
2 files changed, 4 insertions, 10 deletions
diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
index 290863d61f..9cd003636a 100644
--- a/drivers/usb/gadget/ci_udc.c
+++ b/drivers/usb/gadget/ci_udc.c
@@ -424,6 +424,7 @@ static void handle_ep_complete(struct ci_ep *ep)
item = ci_get_qtd(num, in);
ci_invalidate_qtd(num);
+ len = (item->info >> 16) & 0x7fff;
if (item->info & 0xff)
printf("EP%d/%s FAIL info=%x pg0=%x\n",
num, in ? "in" : "out", item->info, item->page0);
@@ -435,7 +436,6 @@ static void handle_ep_complete(struct ci_ep *ep)
if (!list_empty(&ep->queue))
ci_ep_submit_next_request(ep);
- len = (item->info >> 16) & 0x7fff;
ci_req->req.actual = ci_req->req.length - len;
ci_debounce(ci_req, in);
diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c
index feef9e4619..28f215e07c 100644
--- a/drivers/usb/gadget/f_thor.c
+++ b/drivers/usb/gadget/f_thor.c
@@ -219,21 +219,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);
- if (ret)
- error("DFU write failed [%d] cnt: %d", ret, cnt);
-
ret = dfu_flush(dfu_entity, transfer_buffer, 0, cnt);
- if (ret) {
+ if (ret)
error("DFU flush failed!");
- return ret;
- }
return ret;
}
OpenPOWER on IntegriCloud