=20
=20
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.
=20
This hardware bug is explained in detail by errata number 2858 for i.MX23=
:
http://cache.freescale.com/files/dsp/doc/errata/IMX23CE.pdf
=20
Does this patch fix your problem?
=20
quoted hunk ↗ jump to hunk
+#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=20
delete #if defined. Else, you can define it for all i.mx SoC=20
(CONFIG_ARCH_MXC | CONFIG_ARCH_MXS)
/* ### define USB registers here
*/
#define USB_MAX_CTRL_PAYLOAD 64
--
1.7.2.5
=20
=20