Re: [PATCH 12/14] xen: events: remove use of nr_irqs as upperbound on number of pirqs

From: Konrad Rzeszutek Wilk
Date: Thu Mar 10 2011 - 00:34:53 EST


> int xen_irq_from_pirq(unsigned pirq)
> {
> - return pirq_to_irq[pirq];
> + int irq;
> +
> + struct irq_info *info;
> +
> + spin_lock(&irq_mapping_update_lock);
> +
> + list_for_each_entry(info, &xen_irq_list_head, list) {
> + if (info == NULL || info->type != IRQT_PIRQ)
> + continue;
> + irq = info->irq;
> + if (info->u.pirq.pirq == pirq)
> + goto out;
> + }
> + irq = -1;
> +out:
> + spin_lock(&irq_mapping_update_lock);
> +
> + return -1;

Shouldn't this be:

return irq

?

How come you are using the spin_lock here, but not
in other places when iterating over the xen_irq_list_head?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/