Hi, thaoth thaoth wrote: > Can you help me to resolve this bug?
I think that it is a problem of the unalignment access. Please change your compiler or change a source code as follows: diff --git a/common/usb.c b/common/usb.c index 9502f39..1acf51d 100644 --- a/common/usb.c +++ b/common/usb.c @@ -250,7 +250,10 @@ int usb_set_maxpacket(struct usb_device *dev) for(i=0; i<dev->config.bNumInterfaces;i++) { for(ii=0; ii<dev->config.if_desc[i].bNumEndpoints; ii++) { - ep = &dev->config.if_desc[i].ep_desc[ii]; + struct usb_endpoint_descriptor tmp; + memcpy(&tmp, &dev->config.if_desc[i].ep_desc[ii], + sizeof(struct usb_endpoint_descriptor)); + ep = &tmp; b=ep->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK; if((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)==USB_ENDPOINT_XFER_CONTROL) { /* Control => bidirectional */ > Thank you very much for your supports! You're welcome! :) Best regards, Yoshihiro Shimoda _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot