All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Randy Dunlap <rdunlap@infradead.org>,
	Yinghai Lu <yinghai@kernel.org>,
	Grant Likely <grant.likely@linaro.org>,
	x86@kernel.org, Len Brown <lenb@kernel.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Tony Luck <tony.luck@intel.com>, Joerg Roedel <joro@8bytes.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
	linux-acpi@vger.kernel.org
Subject: Re: [Bugfix 1/2] x86, irq, PCI: Keep IRQ assignment for PCI devices during suspend/hibernation
Date: Tue, 5 Aug 2014 20:37:29 +0200	[thread overview]
Message-ID: <20140805183729.GA23068@pd.tnic> (raw)
In-Reply-To: <1407209178-18644-2-git-send-email-jiang.liu@linux.intel.com>

On Tue, Aug 05, 2014 at 11:26:17AM +0800, Jiang Liu wrote:
> Now IOAPIC driver dynamically allocates IRQ numbers for IOAPIC pins.
> We need to keep IRQ assignment for PCI devices during suspend/hibernation,
> otherwise it may cause failure of suspend/hibernation due to:
> 1) Device driver calls pci_enable_device() to allocate an IRQ number
>    and register interrupt handler on the returned IRQ.
> 2) Device driver's suspend callback calls pci_disable_device() and
>    release assigned IRQ in turn.
> 3) Device driver's resume callback calls pci_enable_device() to
>    allocate IRQ number again. A different IRQ number may be assigned
>    by IOAPIC driver this time.
> 4) Now the hardware delivers interrupt to the new IRQ but interrupt
>    handler is still registered against the old IRQ, so it breaks
>    suspend/hibernation.
> 
> To fix this issue, we keep IRQ assignment during suspend/hibernation.
> Flag pci_dev.dev.power.is_prepared is used to detect that
> pci_disable_device() is called during suspend/hibernation.
> 
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> Hi Borislav,
> 	Could you please help to review the patch again since I have
> made changes against the previous version?

I think you're asking me to test that patch, correct?

If so, what is the exact tree I need to apply? tip/x86/apic + those two
patches here? What else? What about the USB chunk which removes the proc
splat, is that somewhere too? Maybe Linus did pull it already?

Please specify what exactly I should test.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

  reply	other threads:[~2014-08-05 18:37 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-05  3:26 [Bugfix 0/2] Fix bugs caused by "use irqdomain to dynamically allocate IRQ for IOAPIC" Jiang Liu
2014-08-05  3:26 ` [Bugfix 1/2] x86, irq, PCI: Keep IRQ assignment for PCI devices during suspend/hibernation Jiang Liu
2014-08-05 18:37   ` Borislav Petkov [this message]
2014-08-06 10:22     ` Jiang Liu
2014-08-06 17:09       ` Borislav Petkov
2014-08-07 11:03         ` tip/x86/apic (was: Re: [Bugfix 1/2] x86, irq, PCI: Keep IRQ assignment for PCI devices during suspend/hibernation) Borislav Petkov
2014-08-07 11:03           ` Borislav Petkov
2014-08-07 11:33           ` [GIT PULL] x86/apic changes for v3.17 Ingo Molnar
2014-08-07 13:31             ` Borislav Petkov
2014-08-07 16:08               ` Linus Torvalds
2014-08-07 16:08                 ` Linus Torvalds
2014-08-08  8:09                 ` Ingo Molnar
2014-08-08  8:09                   ` Ingo Molnar
2014-08-08  6:07             ` [Bugfix] x86, irq, PCI: Keep IRQ assignment for PCI devices during suspend/hibernation Jiang Liu
2014-08-08  9:19               ` [tip:x86/apic] " tip-bot for Jiang Liu
2014-08-08 22:21             ` [GIT PULL] x86/apic changes for v3.17 David Rientjes
2014-08-09 17:06               ` Borislav Petkov
2014-08-11  5:27                 ` Jiang Liu
2014-08-05  3:26 ` [Bugfix 2/2] x86, irq: Keep balance of IOAPIC pin reference count Jiang Liu
2014-08-05 13:04 ` [Bugfix 0/2] Fix bugs caused by "use irqdomain to dynamically allocate IRQ for IOAPIC" Konrad Rzeszutek Wilk
2014-08-05 13:04 ` Konrad Rzeszutek Wilk
2014-08-05 16:07   ` Jiang Liu
2014-08-05 17:58     ` Konrad Rzeszutek Wilk
2014-08-06 10:27       ` Jiang Liu
2014-08-06 10:27       ` Jiang Liu
2014-08-06 14:28         ` Konrad Rzeszutek Wilk
2014-08-06 14:28         ` Konrad Rzeszutek Wilk
2014-08-05 17:58     ` Konrad Rzeszutek Wilk
2014-08-05 16:07   ` Jiang Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140805183729.GA23068@pd.tnic \
    --to=bp@alien8.de \
    --cc=akpm@linux-foundation.org \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=grant.likely@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=jiang.liu@linux.intel.com \
    --cc=joro@8bytes.org \
    --cc=konrad.wilk@oracle.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rdunlap@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.