From: Jeff Garzik <jgarzik@pobox.com>

Don't assume kirqd is always enabled.


---

 drivers/pci/msi.c |    4 +++-
 drivers/pci/msi.h |    3 +++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff -puN drivers/pci/msi.c~msi-kirqd-build-fix drivers/pci/msi.c
--- 25/drivers/pci/msi.c~msi-kirqd-build-fix	2004-02-25 12:25:25.000000000 -0800
+++ 25-akpm/drivers/pci/msi.c	2004-02-25 12:25:25.000000000 -0800
@@ -142,6 +142,7 @@ static void set_msi_affinity(unsigned in
 	}
 }
 
+#ifdef CONFIG_IRQBALANCE
 static inline void move_msi(int vector)
 {
 	if (!cpus_empty(pending_irq_balance_cpumask[vector])) {
@@ -149,7 +150,8 @@ static inline void move_msi(int vector)
 		cpus_clear(pending_irq_balance_cpumask[vector]);
 	}
 }
-#endif
+#endif /* CONFIG_IRQBALANCE */
+#endif /* CONFIG_SMP */
 
 static void mask_MSI_irq(unsigned int vector)
 {
diff -puN drivers/pci/msi.h~msi-kirqd-build-fix drivers/pci/msi.h
--- 25/drivers/pci/msi.h~msi-kirqd-build-fix	2004-02-25 12:25:25.000000000 -0800
+++ 25-akpm/drivers/pci/msi.h	2004-02-25 12:25:25.000000000 -0800
@@ -30,6 +30,9 @@ extern void (*interrupt[NR_IRQS])(void);
 #define set_msi_irq_affinity	set_msi_affinity
 #else
 #define set_msi_irq_affinity	NULL
+#endif
+
+#ifndef CONFIG_IRQBALANCE
 static inline void move_msi(int vector) {}
 #endif
 

_