On Mon, Feb 12, 2018 at 03:56:52PM +0100, Stefan Agner wrote: > Hi Peter, > > Our Colibri iMX6ULL is using NXP i.MX6 ULL in USB host mode. With > 4.15-rc3 and 4.16-rc1 I noticed that when a USB Hub is connected to the > USB OTG controller in host mode, Linux continuously resets the USB > device every two seconds: > > [ 0.927567] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) > Driver > [ 0.934170] ehci-mxc: Freescale On-Chip EHCI Host driver > [ 0.992418] ci_hdrc ci_hdrc.0: EHCI Host Controller > [ 0.997550] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus > number 1 > [ 1.026730] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00 > ... > [ 1.608880] hub 1-1:1.0: USB hub found > [ 1.616915] hub 1-1:1.0: 4 ports detected > ... > [ 3.458475] usb 1-1: reset high-speed USB device number 2 using > ci_hdrc > ... > [ 5.456678] usb 1-1: reset high-speed USB device number 2 using > ci_hdrc > [ 7.456684] usb 1-1: reset high-speed USB device number 2 using > ci_hdrc > > This happens when using a USB Hub on our Carrier Board or an external > USB Hub. > > # lsusb --tree > /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M > |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M > > It does not happen with the downstream 4.9.11 based kernel. > I suggest using register dump tool (memtool) to compare all USB controller and PHY register before HUB connected. You can open disable runtime pm to test first, if it can reproduce, then just compare directly; if it can't reproduce, you need to open AHB clock for USB at CCM first. for i in $(find /sys -name control | grep usb);do echo on > $i;echo "echo on > $i";done; -- Best Regards, Peter Chen -- 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