On Tue, 6 Jun 2017, lingareddy praneethreddy wrote:
> I am using Chipidea HDRC on imx6sl platform. On connecting USB stick
> (sometimes) and Android/ Apple phone (frequent) to ci-hdrc multiple
> time it is seen that hub (ehci_hub_control()) reports continuous
> USB_PORT_FEAT_C_RESET (infinitely) before a disconnect-connect caused
> USB_PORT_FEAT_C_OVER_CURRENT.
Can you post a debugging log? Do:
echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
before plugging in the device, and then copy the dmesg output.
> I have two queries:
> 1. Can we avoid the continuous warm reset ( USB_PORT_FEAT_C_RESET )
> i.e. can we force hub to initialize again and enumerate the device
> again?
Reset _does_ initialize and enumerate the device again.
> 2. Do we need to initialize both controller and hub i.e. we
> initialized controller (calling ehci_setup() and ehci_run()) but the
> hub continued the resets until the overcurrent bit was set.
I don't understand this question. But remember, the hardware does not
decide when to issue a reset. That decision is made by the driver
software in the kernel.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html