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

Alan Stern stern at rowland.harvard.edu
Mon Oct 14 16:34:56 EDT 2013


On Mon, 14 Oct 2013, Olof Johansson wrote:

> 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.

> > --- 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.

In fact he has posted it a lot more than 3 times, and the version 
numbers (or lack thereof) are definitely confusing.

The reason for the build failure is that Manjanuth started work on this 
patch many months ago -- back in the spring.  At that time the 
ep93xx_stop_hc() routine did exist.

But commit af3f233fd27b (usb: ohci-ep93xx: tidy up driver (*probe) and 
(*remove)), dated July 1, removed it.  Manjunath never updated his 
patch in response.

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

No, it's a rebasing failure, not a wrong version.

Alan Stern




More information about the linux-arm-kernel mailing list