From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] gadget: f_thor: update to support more than 4GB file as thor 5.0
Date: Thu, 10 May 2018 12:58:20 +0200 [thread overview]
Message-ID: <20180510125820.0ed7d7b3@jawa> (raw)
In-Reply-To: <1525917135-19761-2-git-send-email-sw0312.kim@samsung.com>
Hi Seung-Woo,
> During file download, it only uses 32bit variable for file size and
> it limits maximum file size less than 4GB. Update to support more
> than 4GB file with using two 32bit variables for file size as thor
> protocol 5.0.
I assume that it was also tested that this patch will not break devices
already using protocol version 4 (like some hobbysts trats2 users, or
odroid XU3)?
To be more specific - is the init_data[1] zeroed in the earlier version
(version 4) of the THOR protocol?
>
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> ---
> drivers/usb/gadget/f_thor.c | 10 +++++++---
> drivers/usb/gadget/f_thor.h | 2 +-
> 2 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/usb/gadget/f_thor.c b/drivers/usb/gadget/f_thor.c
> index 6d38cb6..c8eda05 100644
> --- a/drivers/usb/gadget/f_thor.c
> +++ b/drivers/usb/gadget/f_thor.c
> @@ -262,8 +262,10 @@ static long long int process_rqt_download(const
> struct rqt_box *rqt)
> switch (rqt->rqt_data) {
> case RQT_DL_INIT:
> - thor_file_size = rqt->int_data[0];
> - debug("INIT: total %d bytes\n", rqt->int_data[0]);
> + thor_file_size = (unsigned long long
> int)rqt->int_data[0] +
> + (((unsigned long long
> int)rqt->int_data[1])
> + << 32);
> + debug("INIT: total %llu bytes\n", thor_file_size);
> break;
> case RQT_DL_FILE_INFO:
> file_type = rqt->int_data[0];
> @@ -274,7 +276,9 @@ static long long int process_rqt_download(const
> struct rqt_box *rqt) break;
> }
>
> - thor_file_size = rqt->int_data[1];
> + thor_file_size = (unsigned long long
> int)rqt->int_data[1] +
> + (((unsigned long long
> int)rqt->int_data[2])
> + << 32);
> memcpy(f_name, rqt->str_data[0], F_NAME_BUF_SIZE);
> f_name[F_NAME_BUF_SIZE] = '\0';
>
> diff --git a/drivers/usb/gadget/f_thor.h b/drivers/usb/gadget/f_thor.h
> index 47abc8a..8ba3fa2 100644
> --- a/drivers/usb/gadget/f_thor.h
> +++ b/drivers/usb/gadget/f_thor.h
> @@ -34,7 +34,7 @@ struct usb_cdc_attribute_vendor_descriptor {
> __u8 DAUValue;
> } __packed;
>
> -#define VER_PROTOCOL_MAJOR 4
> +#define VER_PROTOCOL_MAJOR 5
> #define VER_PROTOCOL_MINOR 0
>
> enum rqt {
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180510/3d50e8e3/attachment.sig>
next prev parent reply other threads:[~2018-05-10 10:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20180510015213epcas1p1ecf6315ed1e762c0d51338137c658425@epcas1p1.samsung.com>
2018-05-10 1:52 ` [U-Boot] [PATCH 1/2] gadget: f_thor: fix filename overflow Seung-Woo Kim
2018-05-10 1:52 ` [U-Boot] [PATCH 2/2] gadget: f_thor: update to support more than 4GB file as thor 5.0 Seung-Woo Kim
2018-05-10 10:58 ` Lukasz Majewski [this message]
2018-05-11 0:48 ` Seung-Woo Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180510125820.0ed7d7b3@jawa \
--to=lukma@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox