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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to