[U-Boot] [PATCH] USB-CDC: correct wrong alignment in ether.c

The buffer for the status request must be word aligned because it is accessed with 32 bit pointer in the eth_status_complete function.
Signed-off-by: Stefano Babic sbabic@denx.de --- drivers/usb/gadget/ether.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 313f15f..9f9b093 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -684,7 +684,7 @@ static struct usb_gadget_strings stringtab = {
/*============================================================================*/ static u8 control_req[USB_BUFSIZ]; -static u8 status_req[STATUS_BYTECOUNT]; +static u8 status_req[STATUS_BYTECOUNT * 16] __attribute__ ((aligned(32)));

Hello.
Stefano Babic wrote:
The buffer for the status request must be word aligned because it is accessed with 32 bit pointer in the eth_status_complete function.
You don't tell anything here about why the size of the array becomes 16x with your patch...
Signed-off-by: Stefano Babic sbabic@denx.de
drivers/usb/gadget/ether.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 313f15f..9f9b093 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -684,7 +684,7 @@ static struct usb_gadget_strings stringtab = {
/*============================================================================*/ static u8 control_req[USB_BUFSIZ]; -static u8 status_req[STATUS_BYTECOUNT]; +static u8 status_req[STATUS_BYTECOUNT * 16] __attribute__ ((aligned(32)));
WBR, Sergei

Sergei Shtylyov wrote:
Hello.
Hi Sergej,
Stefano Babic wrote:
The buffer for the status request must be word aligned because it is accessed with 32 bit pointer in the eth_status_complete function.
You don't tell anything here about why the size of the array becomes 16x with your patch...
You are right, I missed to change the value back after some tests. STATUS_BYTECOUNT is correct, it is 16 byte and take care of space for data. I will change the size back.
Stefano
participants (2)
-
Sergei Shtylyov
-
Stefano Babic