]> git.baikalelectronics.ru Git - kernel.git/commit
x86: irq: Fix bug in setting IOAPIC pin attributes
authorJiang Liu <jiang.liu@linux.intel.com>
Wed, 27 Aug 2014 05:53:11 +0000 (13:53 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 27 Aug 2014 09:02:16 +0000 (11:02 +0200)
commit816c04bc8f86da9517bd326cdf924dcb9b05e00d
treea5f94f6e96c8dd26a1608bc34e3986fee305e18a
parente2f2bb3c5cba0555834964ec1769686d24f7bd8a
x86: irq: Fix bug in setting IOAPIC pin attributes

Commit 9a2c1015a18f1272ed "x86, irq: Introduce two helper functions
to support irqdomain map operation" breaks LPSS ACPI enumerated
devices.

On startup, IOAPIC driver preallocates IRQ descriptors and programs
IOAPIC pins with default level and polarity attributes for all legacy
IRQs. Later legacy IRQ users may fail to set IOAPIC pin attributes
if the requested attributes conflicts with the default IOAPIC pin
attributes. So change mp_irqdomain_map() to allow the first legacy IRQ
user to reprogram IOAPIC pin with different attributes.

Reported-and-tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Joerg Roedel <joro@8bytes.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Prarit Bhargava <prarit@redhat.com>
Link: http://lkml.kernel.org/r/1409118795-17046-1-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/apic/io_apic.c