Hello, On Wed, Mar 11, 2015 at 01:42:42PM +0100, Bas Vermeulen wrote: > i.MX35 has an issue that when USB DMA (SINGLE) transfers > are interrupted, the usb core can hang. > > This patch implements the workaround described in ENGcm11601 > by setting the AHB to use INCR transfers instead of SINGLE > transfers. > > Signed-off-by: Bas Vermeulen <bas.vermeulen@xxxxxxxxxxxx> > CC: Sasha Hauer <kernel@xxxxxxxxxxxxxx> s/Sasha/Sascha/ > +static int ehci_mxc_reset(struct usb_hcd *hcd) > +{ > + int retval; > + > + retval = ehci_setup(hcd); > + if (retval) > + return retval; > + > + /* workaround for ENGcm11601 */ > + if (of_machine_is_compatible("fsl,imx35")) This is not pretty. The usb device in the dts looks as follows: usbhost1: usb@53ff4400 { compatible = "fsl,imx35-usb", "fsl,imx27-usb"; ... } so it would be good to match on fsl,imx35-usb instead of the machine id. Also it seems that currently the driver binds to this device because of the i.MX27 compatible entry assuming that these are identical. The same holds true for i.MX23 (really?), i.MX25, i.MX50, i.MX51, i.MX53 and i.MX6*. Among these SoCs is really only the i.MX35 affected? Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html