]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
resurrect 2.6.14 queue with irq affinity patch, fwd from Arkadiusz Miskiewicz
authorChris Wright <chrisw@sous-sol.org>
Wed, 11 Jan 2006 07:13:51 +0000 (23:13 -0800)
committerChris Wright <chrisw@sous-sol.org>
Wed, 11 Jan 2006 07:13:51 +0000 (23:13 -0800)
queue-2.6.14/series [new file with mode: 0644]
queue-2.6.14/setting-irq-affinity-is-broken-in-ia32-with-MSI-enabled.patch [new file with mode: 0644]

diff --git a/queue-2.6.14/series b/queue-2.6.14/series
new file mode 100644 (file)
index 0000000..1c75cd6
--- /dev/null
@@ -0,0 +1 @@
+setting-irq-affinity-is-broken-in-ia32-with-MSI-enabled.patch
diff --git a/queue-2.6.14/setting-irq-affinity-is-broken-in-ia32-with-MSI-enabled.patch b/queue-2.6.14/setting-irq-affinity-is-broken-in-ia32-with-MSI-enabled.patch
new file mode 100644 (file)
index 0000000..631f449
--- /dev/null
@@ -0,0 +1,37 @@
+From nobody Mon Sep 17 00:00:00 2001
+Date: Wed, 30 Nov 2005 03:34:42 +0000 (-0800)
+Subject: [PATCH] setting irq affinity is broken in ia32 with MSI enabled
+From: Shaohua Li <shaohua.li@intel.com>
+
+Setting irq affinity stops working when MSI is enabled.  With MSI, move_irq
+is empty, so we can't change irq affinity.  It appears a typo in Ashok's
+original commit for this issue.  X86_64 actually is using move_native_irq.
+
+Signed-off-by: Shaohua Li <shaohua.li@intel.com>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Signed-off-by: Linus Torvalds <torvalds@osdl.org>
+Signed-off-by: Chris Wright <chrisw@sous-sol.org>
+---
+ arch/i386/kernel/io_apic.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- linux-2.6.14.6.orig/arch/i386/kernel/io_apic.c
++++ linux-2.6.14.6/arch/i386/kernel/io_apic.c
+@@ -1937,7 +1937,7 @@ static void ack_edge_ioapic_vector(unsig
+ {
+       int irq = vector_to_irq(vector);
+-      move_irq(vector);
++      move_native_irq(vector);
+       ack_edge_ioapic_irq(irq);
+ }
+@@ -1952,7 +1952,7 @@ static void end_level_ioapic_vector (uns
+ {
+       int irq = vector_to_irq(vector);
+-      move_irq(vector);
++      move_native_irq(vector);
+       end_level_ioapic_irq(irq);
+ }