[PATCH] usb: fsl_udc: errata - postpone freeing current dTD

Chen Peter-B29397 B29397 at freescale.com
Mon May 21 11:05:24 EST 2012



 
> 
> USB controller may access a wrong address for the dTD (endpoint transfer
> descriptor) and then hang. This happens a lot when doing tests with
> g_ether module and iperf, a tool for measuring maximum TCP and UDP
> bandwidth.
> 
> This hardware bug is explained in detail by errata number 2858 for i.MX23:
> http://cache.freescale.com/files/dsp/doc/errata/IMX23CE.pdf
> 

Does this patch fix your problem?
 
> +#if defined CONFIG_ARCH_MX51 || defined CONFIG_SOC_IMX35
> +#define POSTPONE_FREE_LAST_DTD
> +#else
> +#undef POSTPONE_FREE_LAST_DTD
> +#endif
> +
All i.mx SoC has this problem, if PowerPC also has this problem, you can 
delete #if defined. Else, you can define it for all i.mx SoC 
(CONFIG_ARCH_MXC | CONFIG_ARCH_MXS)

>  /* ### define USB registers here
>   */
>  #define USB_MAX_CTRL_PAYLOAD		64
> --
> 1.7.2.5
> 
> 




More information about the Linuxppc-dev mailing list