public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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>

  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