| #
1a4f6af8 |
| 02-Mar-2020 |
Joseph Chen <chenjh@rock-chips.com> |
Merge branch 'next-dev' into thunder-boot
|
| #
2b5fff1c |
| 28-Jun-2019 |
Ralph Siemsen <ralph.siemsen@linaro.org> |
UPSTREAM: usb: gadget: f_dfu.c: fix memory leak
dfu_prepare_function() allocates N+1 descriptor header structures, the last one being the "DFU Functional Descriptor".
dfu_unbind() handles de-alloca
UPSTREAM: usb: gadget: f_dfu.c: fix memory leak
dfu_prepare_function() allocates N+1 descriptor header structures, the last one being the "DFU Functional Descriptor".
dfu_unbind() handles de-allocation, but fails to free the final one (eg. "DFU Functional Descriptor"), leading to memory leak.
Fixed by incrementing counter, as in dfu_prepare_function().
Change-Id: I990f3874d6e3dca78036d6f30a05e765fbe38c67 Signed-off-by: Ralph Siemsen <ralph.siemsen@linaro.org> Signed-off-by: Frank Wang <frank.wang@rock-chips.com> (cherry picked from commit fe876984a428cc0058bdb536ac948397762f3c0d)
show more ...
|
| #
00caae6d |
| 03-Aug-2017 |
Simon Glass <sjg@chromium.org> |
env: Rename getenv/_f() to env_get()
We are now using an env_ prefix for environment functions. Rename these two functions for consistency. Also add function comments in common.h.
Quite a few place
env: Rename getenv/_f() to env_get()
We are now using an env_ prefix for environment functions. Rename these two functions for consistency. Also add function comments in common.h.
Quite a few places use getenv() in a condition context, provoking a warning from checkpatch. These are fixed up in this patch also.
Suggested-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| #
87fcdca6 |
| 26-Feb-2017 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
9bf9e813 |
| 22-Feb-2017 |
Felipe Balbi <felipe.balbi@linux.intel.com> |
usb: gadget: f_dfu: set serial number if serial# is valid
With this patch, USB Command Verifier is happy with our DFU implementation on Chapter 9 tests.
Signed-off-by: Felipe Balbi <felipe.balbi@li
usb: gadget: f_dfu: set serial number if serial# is valid
With this patch, USB Command Verifier is happy with our DFU implementation on Chapter 9 tests.
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
show more ...
|
| #
00e9d696 |
| 10-Feb-2017 |
Felipe Balbi <felipe.balbi@linux.intel.com> |
usb: gadget: f_dfu: write req->actual bytes
If last packet is short, we shouldn't write req->length bytes to non-volatile media, we should write only what's available to us, which is held in req->ac
usb: gadget: f_dfu: write req->actual bytes
If last packet is short, we shouldn't write req->length bytes to non-volatile media, we should write only what's available to us, which is held in req->actual.
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
| #
d4287766 |
| 16-Dec-2016 |
Patrick Delaunay <patrick.delaunay@st.com> |
usb: gadget: dfu: add result for handle_getstatus()
harmonize result with other handle_XXX() functions: return int for size remove the define RET_STAT_LEN : no more necessary
Signed-off-by: Patrick
usb: gadget: dfu: add result for handle_getstatus()
harmonize result with other handle_XXX() functions: return int for size remove the define RET_STAT_LEN : no more necessary
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>
show more ...
|
| #
f11bb252 |
| 16-Dec-2016 |
Patrick Delaunay <patrick.delaunay@st.com> |
usb: gadget: dfu: correct size for USB_REQ_DFU_GETSTATE result
return the correct size for DFU_GETSTATE result (1 byte in DFU 1.1 spec) to avoid issue in USB protocol and the variable "value" is pro
usb: gadget: dfu: correct size for USB_REQ_DFU_GETSTATE result
return the correct size for DFU_GETSTATE result (1 byte in DFU 1.1 spec) to avoid issue in USB protocol and the variable "value" is propagated to req->lenght as all the in the other request with answer - DFU_GETSTATUS - DFU_DNLOAD - DFU_UPLOAD Then the buffer is correctly treated in USB driver
NB: it was the only request witch directly change "req->actual"
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>
show more ...
|
| #
8987012f |
| 08-Dec-2016 |
Patrick Delaunay <patrick.delaunay@st.com> |
usb: gadget: dfu: add functional descriptor in descriptor set
The "DFU descriptor set" must contain the "DFU functional descriptor" but it is missing today in U-Boot code (cf: DFU spec 1.1, chapter
usb: gadget: dfu: add functional descriptor in descriptor set
The "DFU descriptor set" must contain the "DFU functional descriptor" but it is missing today in U-Boot code (cf: DFU spec 1.1, chapter 4.2 DFU Mode Descriptor Set) This patch only allocate buffer and copy DFU functional descriptor after interfaces.
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay73@gmail.com>
show more ...
|
| #
52b1eaf9 |
| 17-May-2016 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
|
| #
7b4f17bf |
| 07-May-2016 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
12ff19db |
| 03-May-2016 |
Peng Fan <van.freenix@gmail.com> |
usb: gadget: dfu: discard dead code
Reported by Coverity: Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: (f_dfu->strings + --i).s = ....
If calloc failed, i
usb: gadget: dfu: discard dead code
Reported by Coverity: Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: (f_dfu->strings + --i).s = ....
If calloc failed, i is still 0 and no need to call free, so discard the dead code.
Signed-off-by: Peng Fan <van.freenix@gmail.com> Cc: "Łukasz Majewski" <l.majewski@samsung.com> Cc: Marek Vasut <marex@denx.de>
show more ...
|
| #
fec26e72 |
| 24-Feb-2016 |
Tom Rini <trini@konsulko.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
fc18f8d1 |
| 28-Jan-2016 |
Lukasz Majewski <l.majewski@samsung.com> |
dfu: usb: f_dfu: Set deferred call for dfu_flush() function
This patch fixes situation when one would like to write large file into medium with the file system (fat, ext4, etc). This change sets fil
dfu: usb: f_dfu: Set deferred call for dfu_flush() function
This patch fixes situation when one would like to write large file into medium with the file system (fat, ext4, etc). This change sets file size limitation to the DFU internal buffer size.
Since u-boot is not supporting interrupts and seek on file systems, it becomes challenging to store large file appropriately.
To reproduce this error - create large file (around 26 MiB) and sent it to the target board.
Lets examine the flow of USB transactions:
0. DFU uses EP0 with 64B MPS [Max Packet Size]
1. Send file - OUT (PC->target) - dat_26MiB.img is sent with 4096 B transactions
2. Get status - OUT (PC->target) - wait for DFU_STATE_dfuDNLOAD_IDLE (0x05) sent from target board - IN transaction (target->PC)
3. The whole file content is sent to target - OUT (PC->target) with ZLP [Zero Length Packet]
Now the interesting part starts:
4. OUT (PC->target) Setup transaction (request to share DFU state)
5. IN (target->PC) - reply the current DFU state - In the UDC driver the req->completion (with dfu_flush) is called after successful IN transfer. - The dfu_flush() (called from req->completion callback) saves the whole file at once (u-boot doesn't support seek on fs). Such operation takes considerable time. When the file is large - e.g. 26MiB - this time may be more than 5 seconds.
6. OUT (PC->target) - ZLP, is send in the same time when dfu_flush() writes data to eMMC memory. The dfu-util application has hard coded timeout on USB transaction completion set to 5 seconds (it uses libusb calls).
When the file to store is large (e.g. 26 MiB) the time needed to write it may excess the dfu-util timeout and following error message will be displayed: "unable to read DFU status" on the HOST PC console.
This change is supposed to leverage DFU's part responsible for storing files on file systems. Other DFU operations - i.e. raw/partition write to NAND and eMMC should work as before.
The only functional change is the error reporting. When dfu_flush() fails the u-boot prompt will exit with error information and dfu-util application exits afterwards as well.
Test HW: - Odroid XU3 (Exynos5433) - test with large file - Trats (Exynos4210) - test for regression - eMMC, raw,
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Reported-by: Alex Gdalevich <agdalevich@axion-biosystems.com> Tested-by: Stephen Warren <swarren@nvidia.com> Tested-by: Heiko Schocher <hs@denx.de>
show more ...
|
| #
e72d3443 |
| 13-Feb-2015 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
|
| #
b44a4149 |
| 20-Jan-2015 |
Tom Rini <trini@ti.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
1fd81b7c |
| 09-Jan-2015 |
Stefan Roese <sr@denx.de> |
usb: gadget: f_dfu: Add get_alt function to pass the USB compliance test
Without this function the USB compliance test (USB 2.0 Command Verifier) will fail in the "Interface Descriptor Test" with th
usb: gadget: f_dfu: Add get_alt function to pass the USB compliance test
Without this function the USB compliance test (USB 2.0 Command Verifier) will fail in the "Interface Descriptor Test" with this error message:
FAIL (1.2.51) A successful GetInterface request must return the alternate setting set by a prior call to SetInterface.
Lets add this function to read back the value so that the DFU device fully passes the USB compliance test.
Signed-off-by: Stefan Roese <sr@denx.de> Cc: Roger Meier <r.meier@siemens.com> Cc: Samuel Egli <samuel.egli@siemens.com> Cc: Enrico Leto <enrico.leto@siemens.com> Acked-by: Heiko Schocher <hs@denx.de> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Marek Vasut <marex@denx.de>
show more ...
|
| #
4e0114d9 |
| 30-Dec-2014 |
Stefano Babic <sbabic@denx.de> |
Merge branch 'master' of git://git.denx.de/u-boot
Signed-off-by: Stefano Babic <sbabic@denx.de>
|
| #
7a7ffeda |
| 18-Dec-2014 |
Tom Rini <trini@ti.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
fe1b28c9 |
| 10-Dec-2014 |
Rob Herring <robh@kernel.org> |
usb, g_dnl: generalize DFU detach functions
In order to add detach functions for fastboot, make the DFU detach related functions common so they can be shared.
Signed-off-by: Rob Herring <robh@kerne
usb, g_dnl: generalize DFU detach functions
In order to add detach functions for fastboot, make the DFU detach related functions common so they can be shared.
Signed-off-by: Rob Herring <robh@kernel.org> Tested-by: Lukasz Majewski <l.majewski@samsung.com> [TestHW: Exynos4412-Trats2]
show more ...
|
| #
790af815 |
| 10-Oct-2014 |
Albert ARIBAUD <albert.u.boot@aribaud.net> |
Merge branch 'u-boot/master' into 'u-boot-arm/master'
|
| #
8a6b088a |
| 06-Oct-2014 |
Tom Rini <trini@ti.com> |
Merge branch 'master' of git://git.denx.de/u-boot-usb
|
| #
9f3b8ed1 |
| 10-Sep-2014 |
Heiko Schocher <hs@denx.de> |
usb: dfu: add fullspeed support for DFU
DFU now can use also fullspeed.
Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Tom Rini <trini@ti.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Marek
usb: dfu: add fullspeed support for DFU
DFU now can use also fullspeed.
Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Tom Rini <trini@ti.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Marek Vasut <marex@denx.de> Cc: Liu Bin <b-liu@ti.com> Cc: Lukas Stockmann <lukas.stockmann@siemens.com>
show more ...
|
| #
b9c99d32 |
| 11-Sep-2014 |
Lukasz Majewski <l.majewski@samsung.com> |
usb: dfu: thor: gadget: Remove dead code
This code is not used anymore in the current DFU implementation and can be safely removed.
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
|
| #
48f892dc |
| 02-Sep-2014 |
Tom Rini <trini@ti.com> |
Merge git://git.denx.de/u-boot-usb
|