public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [Bugfix] x86, irq: Fix a regression caused by commit b5dc8e6c21e7
@ 2015-08-09  8:15 Jiang Liu
  2015-08-09 10:14 ` Alexander Holler
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Jiang Liu @ 2015-08-09  8:15 UTC (permalink / raw)
  To: Thomas Gleixner, Alexander Holler, Mark Rustad, Alex Deucher,
	Ingo Molnar, H. Peter Anvin, x86, Jiang Liu
  Cc: Tony Luck, linux-kernel

Alex Deucher, Mark Rustad and Alexander Holler reported a regression
with the latest v4.2-rc4 kernel, which breaks some SATA controllers.
With multi-MSI capable SATA controllers, only the first port works,
all other ports times out when executing SATA commands. This regression
bisects to 52f518a3a7c2 ("x86/MSI: Use hierarchical irqdomains to manage
MSI interrupts"), but it's not the root cause, it just triggers a bug
caused by b5dc8e6c21e7 ("x86/irq: Use hierarchical irqdomain to manage
CPU interrupt vectors").

With this patch applied, the affected SATA controllers work as expected.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Reported-by: Alex Deucher <alexdeucher@gmail.com>
Reported-by: Mark Rustad <mrustad@gmail.com>
Reported-by: Alexander Holler <holler@ahsoftware.de>
---
Hi Alex, Mark and Alexandler,
	Sorry for the long delay to root cause this regression, it's
really annoying. Could you please help test this patch against the
latest v4.2-rcx?
Thanks!
Gerry
---
 arch/x86/kernel/apic/vector.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index f813261d9740..2683f36e4e0a 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -322,7 +322,7 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
 		irq_data->chip = &lapic_controller;
 		irq_data->chip_data = data;
 		irq_data->hwirq = virq + i;
-		err = assign_irq_vector_policy(virq, irq_data->node, data,
+		err = assign_irq_vector_policy(virq + i, irq_data->node, data,
 					       info);
 		if (err)
 			goto error;
-- 
1.7.10.4


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

end of thread, other threads:[~2015-08-25  4:46 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-09  8:15 [Bugfix] x86, irq: Fix a regression caused by commit b5dc8e6c21e7 Jiang Liu
2015-08-09 10:14 ` Alexander Holler
2015-08-09 14:11   ` Jiang Liu
2015-08-10 15:00 ` Alex Deucher
2015-08-11  1:06   ` Jiang Liu
2015-08-13 19:46     ` Alex Deucher
2015-08-13 20:15       ` Alex Deucher
2015-08-13 22:13         ` Alex Deucher
2015-08-25  4:03           ` Alex Deucher
2015-08-25  4:46             ` Jiang Liu
2015-08-10 16:47 ` Rustad, Mark D
2015-08-17 21:02 ` Alex Deucher
2015-08-18 12:53   ` Thomas Gleixner
2015-08-17 21:11 ` Thomas Gleixner
2015-08-18 15:20   ` [Bugfix] x86, irq: Fix an error in building CPU vector to IRQ number mapping for MSI Jiang Liu
2015-08-18 16:21     ` [tip:x86/urgent] x86/irq: Build correct vector mapping for multiple MSI interrupts tip-bot for Jiang Liu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox