
From: Zwane Mwaikambo <zwane@arm.linux.org.uk>




 arch/i386/kernel/io_apic.c |    2 +-
 drivers/pci/msi.c          |    6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff -puN arch/i386/kernel/io_apic.c~msi-many-cpus-fix arch/i386/kernel/io_apic.c
--- 25/arch/i386/kernel/io_apic.c~msi-many-cpus-fix	2003-11-25 22:40:07.000000000 -0800
+++ 25-akpm/arch/i386/kernel/io_apic.c	2003-11-25 22:40:07.000000000 -0800
@@ -1956,7 +1956,7 @@ static void unmask_IO_APIC_vector (unsig
 }
 
 static void set_ioapic_affinity_vector (unsigned int vector,
-					unsigned long cpu_mask)
+					cpumask_t cpu_mask)
 {
 	int irq = vector_to_irq(vector);
 
diff -puN drivers/pci/msi.c~msi-many-cpus-fix drivers/pci/msi.c
--- 25/drivers/pci/msi.c~msi-many-cpus-fix	2003-11-25 22:40:07.000000000 -0800
+++ 25-akpm/drivers/pci/msi.c	2003-11-25 22:40:07.000000000 -0800
@@ -89,7 +89,7 @@ static void msi_set_mask_bit(unsigned in
 }
 
 #ifdef CONFIG_SMP
-static void set_msi_affinity(unsigned int vector, unsigned long cpu_mask)
+static void set_msi_affinity(unsigned int vector, cpumask_t cpu_mask)
 {
 	struct msi_desc *entry;
 	struct msg_address address;
@@ -141,9 +141,9 @@ static void set_msi_affinity(unsigned in
 
 static inline void move_msi(int vector)
 {
-	if (unlikely(pending_irq_balance_cpumask[vector])) {
+	if (!cpus_empty(pending_irq_balance_cpumask[vector])) {
 		set_msi_affinity(vector, pending_irq_balance_cpumask[vector]);
-		pending_irq_balance_cpumask[vector] = 0;
+		cpus_clear(pending_irq_balance_cpumask[vector]);
 	}
 }
 #endif

_
