diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 5 | ||||
-rw-r--r-- | arch/x86/kernel/irq.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index ae97ed0873c6..3d525c6124f6 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -613,6 +613,11 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp) | |||
613 | { | 613 | { |
614 | int rc, irq, trigger, polarity; | 614 | int rc, irq, trigger, polarity; |
615 | 615 | ||
616 | if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) { | ||
617 | *irqp = gsi; | ||
618 | return 0; | ||
619 | } | ||
620 | |||
616 | rc = acpi_get_override_irq(gsi, &trigger, &polarity); | 621 | rc = acpi_get_override_irq(gsi, &trigger, &polarity); |
617 | if (rc == 0) { | 622 | if (rc == 0) { |
618 | trigger = trigger ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE; | 623 | trigger = trigger ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE; |
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 705ef8d48e2d..67b1cbe0093a 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c | |||
@@ -302,6 +302,9 @@ int check_irq_vectors_for_cpu_disable(void) | |||
302 | irq = __this_cpu_read(vector_irq[vector]); | 302 | irq = __this_cpu_read(vector_irq[vector]); |
303 | if (irq >= 0) { | 303 | if (irq >= 0) { |
304 | desc = irq_to_desc(irq); | 304 | desc = irq_to_desc(irq); |
305 | if (!desc) | ||
306 | continue; | ||
307 | |||
305 | data = irq_desc_get_irq_data(desc); | 308 | data = irq_desc_get_irq_data(desc); |
306 | cpumask_copy(&affinity_new, data->affinity); | 309 | cpumask_copy(&affinity_new, data->affinity); |
307 | cpu_clear(this_cpu, affinity_new); | 310 | cpu_clear(this_cpu, affinity_new); |