[PATCH] Fix irq radix tree remapping typo

STALE7289d

2 messages, 2 authors, 2006-08-17 · open the first message on its own page

[PATCH] Fix irq radix tree remapping typo

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2006-08-17 02:01:52

The code for using the radix tree for reverse mapping of interrupts has
a typo that causes it to create incorrect mappings if the software and
hardware numbers happen to be different. This would, among others, cause
the IDE interrupt to fail on js20's. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

Please apply to 2.6.18

Index: linux-work/arch/powerpc/kernel/irq.c
===================================================================
--- linux-work.orig/arch/powerpc/kernel/irq.c	2006-08-17 09:26:19.000000000 +1000
+++ linux-work/arch/powerpc/kernel/irq.c	2006-08-17 11:27:30.000000000 +1000
@@ -693,7 +693,7 @@ unsigned int irq_radix_revmap(struct irq
 	/* If not there, try to insert it */
 	virq = irq_find_mapping(host, hwirq);
 	if (virq != NO_IRQ)
-		radix_tree_insert(tree, virq, &irq_map[virq]);
+		radix_tree_insert(tree, hwirq, &irq_map[virq]);
  bail:
 	spin_unlock_irqrestore(&irq_big_lock, flags);
 	return virq;

Re: [PATCH] Fix irq radix tree remapping typo

From: Steve Fox <hidden>
Date: 2006-08-17 19:05:35

On Thu, 17 Aug 2006 03:59:27 +0200, Benjamin Herrenschmidt wrote:
quoted hunk
The code for using the radix tree for reverse mapping of interrupts has
a typo that causes it to create incorrect mappings if the software and
hardware numbers happen to be different. This would, among others, cause
the IDE interrupt to fail on js20's. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---

Please apply to 2.6.18

Index: linux-work/arch/powerpc/kernel/irq.c
===================================================================
--- linux-work.orig/arch/powerpc/kernel/irq.c	2006-08-17 09:26:19.000000000 +1000
+++ linux-work/arch/powerpc/kernel/irq.c	2006-08-17 11:27:30.000000000 +1000
@@ -693,7 +693,7 @@ unsigned int irq_radix_revmap(struct irq
 	/* If not there, try to insert it */
 	virq = irq_find_mapping(host, hwirq);
 	if (virq != NO_IRQ)
-		radix_tree_insert(tree, virq, &irq_map[virq]);
+		radix_tree_insert(tree, hwirq, &irq_map[virq]);
  bail:
 	spin_unlock_irqrestore(&irq_big_lock, flags);
 	return virq;
This patch has fixed booting on the machine I originally reported the
issue with. Thanks much.

Acked-by: Steve Fox <redacted>

-- 

Steve Fox
IBM Linux Technology Center
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help