lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.2004201622260.22032-100000@netrider.rowland.org>
Date:   Mon, 20 Apr 2020 16:26:45 -0400 (EDT)
From:   Alan Stern <stern@...land.harvard.edu>
To:     Qais Yousef <qais.yousef@....com>,
        "Rafael J. Wysocki" <rjw@...ysocki.net>
cc:     Oliver Neukum <oneukum@...e.de>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        USB list <linux-usb@...r.kernel.org>,
        Linux-pm mailing list <linux-pm@...r.kernel.org>,
        Kernel development list <linux-kernel@...r.kernel.org>
Subject: Re: lockdep warning in urb.c:363 usb_submit_urb

On Wed, 25 Mar 2020, Alan Stern wrote:

> On Wed, 25 Mar 2020, Qais Yousef wrote:
> 
> > Thanks for all the hints Alan.
> > 
> > I think I figured it out, the below patch seems to fix it for me. Looking
> > at other drivers resume functions it seems we're missing the
> > pm_runtime_disable()->set_active()->enable() dance. Doing that fixes the
> > warning and the dev_err() in driver/base/power.
> 
> Ah, yes.  This should have been added years ago; guess I forgot.  :-(
> 
> > I don't see xhci-plat.c doing that, I wonder if it needs it too.
> > 
> > I'm not well versed about the details and the rules here. So my fix could be
> > a hack, though it does seem the right thing to do.
> > 
> > I wonder why the power core doesn't handle this transparently..
> 
> Initially, we didn't want the PM core to do this automatically because
> we thought some devices might want to remain runtime-suspended
> following a system resume, and only the device driver would know what 
> to do.

Qais:

So it looks like the discussion with Rafael will lead to changes in the
PM core, but they won't go into the -stable kernels, and they won't
directly fix the problem here.

In the meantime, why don't you write up your patch below and submit it
properly?  Even better, create similar patches for ehci-platform.c and
xhci-plat.c and submit them too.

Alan Stern

> > diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
> > index 7addfc2cbadc..eb92c8092fae 100644
> > --- a/drivers/usb/host/ohci-platform.c
> > +++ b/drivers/usb/host/ohci-platform.c
> > @@ -299,6 +299,10 @@ static int ohci_platform_resume(struct device *dev)
> >         }
> > 
> >         ohci_resume(hcd, false);
> > +
> > +       pm_runtime_disable(dev);
> > +       pm_runtime_set_active(dev);
> > +       pm_runtime_enable(dev);
> >         return 0;
> >  }
> >  #endif /* CONFIG_PM_SLEEP */
> > 
> > 
> > Thanks
> > 
> > --
> > Qais Yousef
> 
> 
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ