> >>> causes a regression for me on my SolidRun Hummingboard (NXP i.MX6 DL > >>> SoC with chipidea controller). > >>> > >>> Example: > >>> -- Cold boot of system. > >>> -- Plug in USB memory stick --> Attached OK. > >>> -- Mount disk --> OK, "ls" works > >>> -- Unmount disk --> OK > >>> -- Unplug USB stick --> Nothing happens. "udevadm monitor" see no events. > >>> -- Plug in/unplug stick again --> Still nothing. > >>> -- Plug in stick and try mounting --> Somehow causes both detach and > >>> attach > >>> of the stick (mounting fails but mounting again now works). > >>> > >>> -- All tested USB devices are working in a similar way. I.e first > >>> attach > >>> after boot works and then trouble starts. > >>> -- Tested using default device tree from kernel tree > >>> (arch/arm/boot/dts/imx6dl-hummingboard.dts). > >>> > >>> Please ask if you think I can help in any way to track down the issue. > >>> > >> Hi Mats, > >> > >> I have tested the latest usb-next tree, the hot plug works at my imx6sx-sdb board. > >> Would you please check the value of hcd->skip_phy_initialization at the end of > function host_start? > > hcd->skip_phy_initialization=1 > > > > BR // Mats > > > And this is what the "decompiled" device tree entry for the USB controller and phy > look like: > > usb@2184200 { > compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; > reg = <0x2184200 0x200>; > interrupts = <0x0 0x28 0x4>; > clocks = <0x4 0xa2>; > fsl,usbphy = <0x2c>; > fsl,usbmisc = <0x29 0x1>; > dr_mode = "host"; > ahb-burst-config = <0x0>; > tx-burst-size-dword = <0x10>; > rx-burst-size-dword = <0x10>; > status = "okay"; > disable-over-current; > vbus-supply = <0x2d>; > }; > > usbphy@20ca000 { > compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; > reg = <0x20ca000 0x1000>; > interrupts = <0x0 0x2d 0x4>; > clocks = <0x4 0xb7>; > fsl,anatop = <0x2>; > phandle = <0x2c>; > }; > > So, using deprecated? "fsl,usbphy" instead of "phys", in case that matters. > It is ok. Check two things: - ci->usb_phy is non-NULL, and ci->phy is NULL - phy_roothub is NULL at the functions of drivers/usb/core/phy.c Peter ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥