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: <200901101332.03851.rjw@sisk.pl>
Date:	Sat, 10 Jan 2009 13:32:03 +0100
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	Philip Langdale <philipl@...rt.org>
Cc:	linux kernel <linux-kernel@...r.kernel.org>,
	sdhci-devel@...t.drzeus.cx, sfr@...b.auug.org.au,
	Pierre Ossman <drzeus@...eus.cx>
Subject: Re: [PATCH] ricoh_mmc: Use suspend/resume_noirq (v2) (resend)

On Saturday 10 January 2009, Philip Langdale wrote:
> 
> On Thu, 8 Jan 2009 23:14:52 +0100, "Rafael J. Wysocki" <rjw@...k.pl> wrote:
> > On Wednesday 07 January 2009, philipl@...rt.org wrote:
[...]
> > dependencies between the devices are, so can you please explain that
> > to me?
> 
> I hope my write up answers this question.

I think they are, though I have to read them more thoroughly yet.

> > That said, if you want to suspend-resume ricoh_mmc with interrupts
> > disabled,
> > please use the legacy PCI .suspend_late() and .resume_early() callbacks
> for
> > that, since in the new framework the core will carry out some standard PM
> > operations in addition to your .suspend_noirq() and .resume_noirq().  It
> > may
> > not be what you want in this case, though.
> 
> I'd need to know what those other operations are. I originally wrote this
> patch with suspend_late and resume_early but the first pm_ops patch I saw
> removed those. Are you now saying that both suspend_late/resume_early and
> noirq callbacks are supported now.

Yes, they are.  You implement either the "old" ones (->suspen(), ->resume(),
->suspend_late(), ->resume_early() in struct pci_driver) and even if only one of
them is defined, the "legacy" handling will be used for the other operations
too, so the existing drivers' code is not affected, or the "new" ones (the pm
object).

> It's all a bit confusing :-)

Yes, it is, unfortunately.  There are a couple of reasons, one of them being
that the code has only been finished recently and another that the whole
concept changed slightly just before 2.6.28, when we discovered a mode of
failure that had not been known before and it had to be taken into account.

I'm now going to finally write some documentation. :-)

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ