[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 4/4] xen/events: Add WARN_ON when quick lookup found invalid type.
On Wed, 23 May 2012, Konrad Rzeszutek Wilk wrote: > All of the bind_XYZ_to_irq do a quick lookup to see if the > event exists. And if they that value is returned instead of ^ > initialized. This patch adds an extra logic to check that the > type returned is the proper one and we can use it to find > drivers that are doing something naught. > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > --- > drivers/xen/events.c | 11 +++++++++-- > 1 files changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/xen/events.c b/drivers/xen/events.c > index faae2f9..093851b 100644 > --- a/drivers/xen/events.c > +++ b/drivers/xen/events.c > @@ -827,6 +827,9 @@ int bind_evtchn_to_irq(unsigned int evtchn) > handle_edge_irq, "event"); > > xen_irq_info_evtchn_init(irq, evtchn); > + } else { > + struct irq_info *info = info_for_irq(irq); > + WARN_ON(info && info->type != IRQT_EVTCHN); > } considering that when evtchn_to_irq[evtchn] is != -1, a corresponding struct irq_info is always supposed to exists, shouldn't this be: WARN_ON(info == NULL || info->type != IRQT_EVTCHN); ? > out: > @@ -862,8 +865,10 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned > int cpu) > xen_irq_info_ipi_init(cpu, irq, evtchn, ipi); > > bind_evtchn_to_cpu(evtchn, cpu); > + } else { > + struct irq_info *info = info_for_irq(irq); > + WARN_ON(info && info->type != IRQT_IPI); > } > - > out: > mutex_unlock(&irq_mapping_update_lock); > return irq; > @@ -939,8 +944,10 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu) > xen_irq_info_virq_init(cpu, irq, evtchn, virq); > > bind_evtchn_to_cpu(evtchn, cpu); > + } else { > + struct irq_info *info = info_for_irq(irq); > + WARN_ON(info && info->type != IRQT_VIRQ); > } > - > out: > mutex_unlock(&irq_mapping_update_lock); same here _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |