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

Sergei Shtylyov sshtylyov at mvista.com
Sat Aug 14 14:23:34 CEST 2010


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.

> Signed-off-by: Stefano Babic <sbabic at denx.de>
[...]
> diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
> index 313f15f..0b4ed18 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] __attribute__ ((aligned(32)));

    You're aligning to 32 *bytes* -- is that what you meant by "32 bit pointer"?

WBR, Sergei


More information about the U-Boot mailing list