git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'fix/hda' into for-linus
[pandora-kernel.git]
/
arch
/
x86
/
kernel
/
apic
/
io_apic.c
diff --git
a/arch/x86/kernel/apic/io_apic.c
b/arch/x86/kernel/apic/io_apic.c
index
e4e0ddc
..
127b871
100644
(file)
--- a/
arch/x86/kernel/apic/io_apic.c
+++ b/
arch/x86/kernel/apic/io_apic.c
@@
-36,6
+36,7
@@
#include <linux/freezer.h>
#include <linux/kthread.h>
#include <linux/jiffies.h> /* time_after() */
#include <linux/freezer.h>
#include <linux/kthread.h>
#include <linux/jiffies.h> /* time_after() */
+#include <linux/slab.h>
#ifdef CONFIG_ACPI
#include <acpi/acpi_bus.h>
#endif
#ifdef CONFIG_ACPI
#include <acpi/acpi_bus.h>
#endif
@@
-1268,6
+1269,14
@@
void __setup_vector_irq(int cpu)
/* Mark the inuse vectors */
for_each_irq_desc(irq, desc) {
cfg = desc->chip_data;
/* Mark the inuse vectors */
for_each_irq_desc(irq, desc) {
cfg = desc->chip_data;
+
+ /*
+ * If it is a legacy IRQ handled by the legacy PIC, this cpu
+ * will be part of the irq_cfg's domain.
+ */
+ if (irq < legacy_pic->nr_legacy_irqs && !IO_APIC_IRQ(irq))
+ cpumask_set_cpu(cpu, cfg->domain);
+
if (!cpumask_test_cpu(cpu, cfg->domain))
continue;
vector = cfg->vector;
if (!cpumask_test_cpu(cpu, cfg->domain))
continue;
vector = cfg->vector;