linux/arch/x86/kernel/apic
Jiang Liu 646c4b7549 x86/irq: Use the caller provided polarity setting in mp_check_pin_attr()
Commit d32932d02e ("x86/irq: Convert IOAPIC to use hierarchical
irqdomain interfaces") introduced a regression which causes
malfunction of interrupt lines.

The reason is that the conversion of mp_check_pin_attr() missed to
update the polarity selection of the interrupt pin with the caller
provided setting and instead uses a stale attribute value. That in
turn results in chosing the wrong interrupt flow handler.

Use the caller supplied setting to configure the pin correctly which
also choses the correct interrupt flow handler.

This restores the original behaviour and on the affected
machine/driver (Surface Pro 3, i2c controller) all IOAPIC IRQ
configuration are identical to v4.1.

Fixes: d32932d02e ("x86/irq: Convert IOAPIC to use hierarchical irqdomain interfaces")
Reported-and-tested-by: Matt Fleming <matt@codeblueprint.co.uk>
Reported-and-tested-by: Chen Yu <yu.c.chen@intel.com>
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Chen Yu <yu.c.chen@intel.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Link: http://lkml.kernel.org/r/1438242695-23531-1-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2015-07-30 21:15:29 +02:00
..
apic_flat_64.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
apic_noop.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
apic_numachip.c x86/apic/numachip: Fix sibling map with NumaChip 2015-03-12 16:58:59 +01:00
apic.c x86/apic: Remove verify_local_APIC() 2015-04-01 10:47:57 +02:00
bigsmp_32.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
htirq.c x86: Constify irqdomain ops 2015-05-05 11:14:48 +02:00
hw_nmi.c x86/nmi: Fix use of unallocated cpumask_var_t 2014-11-25 14:15:30 -05:00
io_apic.c x86/irq: Use the caller provided polarity setting in mp_check_pin_attr() 2015-07-30 21:15:29 +02:00
ipi.c x86: Delete non-required instances of include <linux/init.h> 2014-01-06 21:25:18 -08:00
Makefile x86, irq: Move HT IRQ related code from io_apic.c into htirq.c 2014-12-16 14:08:17 +01:00
msi.c x86/irq/msi: Implement irq_set_vcpu_affinity for remapped MSI irqs 2015-05-19 15:51:17 +02:00
probe_32.c x86, apic: Remove enable_apic_mode callback 2014-07-31 08:05:44 -07:00
probe_64.c x86/platform: Introduce APIC post-initialization callback 2012-06-06 09:06:19 +02:00
vector.c x86/irq: Plug irq vector hotplug race 2015-07-07 11:54:04 +02:00
x2apic_cluster.c x86: fix more deprecated cpu function usage. 2015-03-10 13:54:40 +10:30
x2apic_phys.c x86/x2apic: Acpi_gbl_FADT existence depends on CONFIG_ACPI 2015-05-05 14:01:37 +02:00
x2apic_uv_x.c x86/apic/uv: Update the UV APIC HUB check 2015-04-10 10:16:08 +02:00