All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bugfix 0/2] Fix bugs caused by "use irqdomain to dynamically allocate IRQ for IOAPIC"
@ 2014-08-05  3:26 Jiang Liu
  2014-08-05  3:26 ` [Bugfix 1/2] x86, irq, PCI: Keep IRQ assignment for PCI devices during suspend/hibernation Jiang Liu
                   ` (3 more replies)
  0 siblings, 4 replies; 29+ messages in thread
From: Jiang Liu @ 2014-08-05  3:26 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Rafael J. Wysocki, Bjorn Helgaas, Randy Dunlap,
	Yinghai Lu, Borislav Petkov, Grant Likely
  Cc: Jiang Liu, Konrad Rzeszutek Wilk, Andrew Morton, Tony Luck,
	Joerg Roedel, Greg Kroah-Hartman, x86, linux-kernel, linux-pci,
	linux-acpi

Two issues have been reported against patch set "use irqdomain to
dynamically allocate IRQ for IOAPIC" at https://lkml.org/lkml/2014/6/9/44.

This first one causes failure of suspend/hibernation, please refer to
https://lkml.org/lkml/2014/7/28/822 for more information. And we have
worked out a patch to fix it (https://lkml.org/lkml/2014/7/30/725) and
Borislav has tested it. But with more testing and analysis, I found the
provided patch still has some issues:
1) It may cause regression to Xen
2) Flag dev->dev.power.is_prepared has already been cleared when
   pcibios_enable_device() gets called, so it will cause IOAPIC pin
   reference count leak.

So I reworked the patch to fix above issues. The first patch fixes issue
1 by moving check of dev->dev.power.is_prepared pcibios_enable_irq, so
it won't affect Xen. The second patch fixes the IOAPIC pin reference
count leakage issue. It also solves the issue we have discussed at
http://www.spinics.net/lists/linux-pci/msg32902.html

Regards!
Gerry

Jiang Liu (2):
  x86, irq, PCI: Keep IRQ assignment for PCI devices during
    suspend/hibernation
  x86, irq: Keep balance of IOAPIC pin reference count

 arch/x86/pci/intel_mid_pci.c |    9 ++++++++-
 arch/x86/pci/irq.c           |    8 +++++++-
 drivers/acpi/pci_irq.c       |   15 +++++++++++++--
 include/linux/pci.h          |    1 +
 4 files changed, 29 insertions(+), 4 deletions(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2014-08-11  5:27 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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.