Messages in this thread | | | Date | Thu, 10 Mar 2011 00:33:05 -0500 | From | Konrad Rzeszutek Wilk <> | Subject | Re: [PATCH 12/14] xen: events: remove use of nr_irqs as upper bound on number of pirqs |
| |
> 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?
| |