[PATCH 05/11] USB: OHCI: Properly handle ohci-ep93xx suspend

Olof Johansson olof at lixom.net
Mon Oct 14 11:49:46 EDT 2013


Hi, Greg,

[Adding ep93xx maintainers as well]

On Wed, Oct 2, 2013 at 3:15 AM, Majunath Goudar <csmanjuvijay at gmail.com> wrote:
> From: Manjunath Goudar <manjunath.goudar at linaro.org>
>
> Suspend scenario in case of ohci-ep93xx glue was not
> properly handled as it was not suspending generic part
> of ohci controller. Alan Stern suggested, properly handle
> ohci-ep93xx suspend scenario.
>
> Calling explicitly the ohci_suspend() routine in
> ohci_hcd_ep93xx_drv_suspend() will ensure proper handling of
> suspend scenario.
>
> Signed-off-by: Manjunath Goudar <manjunath.goudar at linaro.org>
> Signed-off-by: Manjunath Goudar <csmanjuvijay at gmail.com>
> Acked-by: Alan Stern <stern at rowland.harvard.edu>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: Greg KH <greg at kroah.com>
> Cc: linux-usb at vger.kernel.org
> ---
>  drivers/usb/host/ohci-ep93xx.c |   11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/host/ohci-ep93xx.c b/drivers/usb/host/ohci-ep93xx.c
> index 492f681..08409bf 100644
> --- a/drivers/usb/host/ohci-ep93xx.c
> +++ b/drivers/usb/host/ohci-ep93xx.c
> @@ -112,13 +112,20 @@ static int ohci_hcd_ep93xx_drv_suspend(struct platform_device *pdev, pm_message_
>  {
>         struct usb_hcd *hcd = platform_get_drvdata(pdev);
>         struct ohci_hcd *ohci = hcd_to_ohci(hcd);
> +       bool do_wakeup = device_may_wakeup(&pdev->dev);
> +       int ret;
>
>         if (time_before(jiffies, ohci->next_statechange))
>                 msleep(5);
>         ohci->next_statechange = jiffies;
>
> -       clk_disable(usb_host_clock);
> -       return 0;
> +       ret = ohci_suspend(hcd, do_wakeup);
> +       if (ret)
> +               return ret;
> +
> +       ep93xx_stop_hc(&pdev->dev);
> +
> +       return ret;
>  }

This patch showed up in -next today (or maybe a while ago and I didn't
notice). It's causing a build failure on ep93xx:

>From http://arm-soc.lixom.net/buildlogs/next-thierry/v3.12-rc5-5366-gba2e8c2/buildall.arm.ep93xx_defconfig.log.failed:

drivers/usb/host/ohci-ep93xx.c: In function 'ohci_hcd_ep93xx_drv_suspend':
drivers/usb/host/ohci-ep93xx.c:126:2: error: implicit declaration of
function 'ep93xx_stop_hc'


It's really confusing though, because Majunath has posted this patch
three times. The first time it had the ep93xx_stop_hc() call in there,
the second patch (labelled V2) did not, and the third(?) version,
without version label, also lacked it. No revision log in the patch,
and no comments on it.

But it does seem like the wrong version was merged based on build results.


-Olof



More information about the linux-arm-kernel mailing list