> From: Paul Zimmerman > Sent: Monday, May 13, 2013 11:58 AM > > > From: Matthijs Kooijman [mailto:matthijs@xxxxxxxx] > > Sent: Wednesday, May 08, 2013 2:02 PM > > > > I'm running into an issue with the dwc2 driver. When I power on my board > > with an usb device (mass storage in this case) connected, the hardware > > is returning transaction errors (e.g., triggering channel halted + > > xacterr interrupts) for every transfer scheduled, starting with the > > first ones. > > > > This condition stays even through a reboot, though a power cycle cures > > the condition (provided I remove the USB device for the boot). If I > > insert the USB device after the board has booted and the driver has > > loaded, everything works as expected, also after a reboot (with the > > device still plugged in). > > > > This leads me to suspect there is some issue when the time between the > > first hardware initialization and the first host channel start is too > > small or something like that? Any ideas? > > > > Also, is there any fixed list of what could cause a transaction error, > > or is this just a catchall meaning "Something went wrong"? Hi Matthijs, I did see a different issue when booting/rebooting the system. I discovered that the DMA_BIT_MASK(31)'s in dwc2_hcd_init() were randomly preventing the controller from working after boot. When I changed both of them to DMA_BIT_MASK(32) the problem went away. I am going to submit a patch with that change shortly, maybe you could try that and see if it makes a difference for you? After making that change, I am unable to reproduce any boot problem on my platform (PC with the dwc2 controller on a PCIe bus). I wonder if this could be some issue with the Phy on your platform? Maybe you could play around with the Phy initialization/resets in the driver and see if that makes a difference. I remember when bringing up the driver, that the sleep at the end of dwc2_core_reset() was very critical to making host mode work. Maybe you could experiment with that also. -- Paul -- 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