On 06/15/2016 07:15 AM, Peng Fan wrote:
> If the usb controller is not running, no need to shutdown it,
> otherwise `usb stop` complains about:
> "EHCI failed to shut down host controller".
> 
> To i.MX7D SDB, there are two usb ports, one Host, one OTG.
> If we only plug one udisk to the Host port and then `usb start`,
> the OTG controller for OTG port does not run actually. Then,
> if `usb stop`, the OTG controller for OTG port will also be
> shutdown, but it is not running.
> 
> This patch adds a check to only shutdown the running controller.

Applied, thanks

> Signed-off-by: Peng Fan <peng....@nxp.com>
> Cc: Marek Vasut <ma...@denx.de>
> Cc: Simon Glass <s...@chromium.org>
> Cc: Mateusz Kulikowski <mateusz.kulikow...@gmail.com>
> Cc: Hans de Goede <hdego...@redhat.com>
> Cc: "Stefan BrĂ¼ns" <stefan.bru...@rwth-aachen.de>
> Cc: Stephen Warren <swar...@nvidia.com>
> ---
>  drivers/usb/host/ehci-hcd.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
> index fa5d584..13aa70d 100644
> --- a/drivers/usb/host/ehci-hcd.c
> +++ b/drivers/usb/host/ehci-hcd.c
> @@ -210,6 +210,9 @@ static int ehci_shutdown(struct ehci_ctrl *ctrl)
>               return -EINVAL;
>  
>       cmd = ehci_readl(&ctrl->hcor->or_usbcmd);
> +     /* If not run, directly return */
> +     if (!(cmd & CMD_RUN))
> +             return 0;
>       cmd &= ~(CMD_PSE | CMD_ASE);
>       ehci_writel(&ctrl->hcor->or_usbcmd, cmd);
>       ret = handshake(&ctrl->hcor->or_usbsts, STS_ASS | STS_PSS, 0,
> 


-- 
Best regards,
Marek Vasut
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to