int irq_to_vector(int irq)
{
- int vector = -1;
+ int vector = IRQ_VECTOR_UNASSIGNED;
BUG_ON(irq >= nr_irqs || irq < 0);
int vector;
vector = irq_to_vector(irq);
- if ( vector > 0 )
+ if ( valid_irq_vector(vector) )
{
- printk(XENLOG_INFO "IRQ %d already assigned vector %d\n",
+ printk(XENLOG_INFO "IRQ%d already assigned vector %02x\n",
irq, vector);
ASSERT(!test_bit(vector, ret));
set_bit(vector, ret);
}
+ else if ( vector != IRQ_VECTOR_UNASSIGNED )
+ printk(XENLOG_WARNING "IRQ%d mapped to bogus vector %02x\n",
+ irq, vector);
}
}
else if ( IO_APIC_IRQ(irq) &&
vmask_t *irq_used_vectors = NULL;
old_vector = irq_to_vector(irq);
- if ( old_vector > 0 )
+ if ( valid_irq_vector(old_vector) )
{
cpumask_t tmp_mask;
current_vector = vector;
current_offset = offset;
- if ( old_vector > 0 )
+ if ( valid_irq_vector(old_vector) )
{
cpumask_and(desc->arch.old_cpu_mask, desc->arch.cpu_mask,
&cpu_online_map);