Re: [PATCH] x86-64: typo in __assign_irq_vector when updating pos for vector and offset

From: Yinghai Lu
Date: Sun Oct 22 2006 - 04:40:48 EST


On 10/21/06, Muli Ben-Yehuda <muli@xxxxxxxxxx> wrote:
>
> typo with cpu instead of new_cpu

This patch breaks my x366 machine:

aic94xx: device 0000:01:02.0: SAS addr 5005076a0112df00, PCBA SN , 8 phys, 8 enabled phys, flash present, BIOS build 1323
aic94xx: couldn't get irq 25 for 0000:01:02.0
ACPI: PCI interrupt for device 0000:01:02.0 disabled
aic94xx: probe of 0000:01:02.0 failed with error -38

Reverting it allows it to boot again. Since the patch is "obviously
correct", it must be uncovering some other problem with the genirq
code.



can you try attached patch? it use cpu_online_map instead of 0xff.

YH diff --git a/arch/x86_64/kernel/genapic_flat.c b/arch/x86_64/kernel/genapic_flat.c
index 7c01db8..490df69 100644
--- a/arch/x86_64/kernel/genapic_flat.c
+++ b/arch/x86_64/kernel/genapic_flat.c
@@ -32,8 +32,7 @@ static cpumask_t flat_vector_allocation_
* deliver interrupts to the wrong hyperthread when only one
* hyperthread was specified in the interrupt desitination.
*/
- cpumask_t domain = { { [0] = APIC_ALL_CPUS, } };
- return domain;
+ return cpu_online_map;
}

/*