Messages in this thread | | | Date | Tue, 30 Apr 2013 18:34:52 +0100 | From | Stefano Stabellini <> | Subject | Re: [PATCH V2] xen: clear IRQ_NOAUTOEN and IRQ_NOREQUEST |
| |
Konrad, are you going to take care of this patch (assuming that you are OK with it)?
On Tue, 30 Apr 2013, Julien Grall wrote: > Reset the IRQ_NOAUTOEN and IRQ_NOREQUEST flags that are enabled by > default on ARM. If IRQ_NOAUTOEN is set, __setup_irq doesn't call > irq_startup, that is responsible for calling irq_unmask at startup time. > As a result event channels remain masked. > > The clear is already made in bind_evtchn_to_irq with commit a8636c0 but was > missing on all others bind_*_to_irq. Move the clear in xen_irq_info_common_init. > > On x86, IRQ_NOAUTOEN and IRQ_NOREQUEST are cleared by default, so this commit > doesn't impact this architecture. > > Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Changes since v1: > - Specify this commit will not impact x86 in the comment > - Clear flag directly in xen_irq_info_common_init, this function is > called by all bind_*_to_irq > > drivers/xen/events.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/xen/events.c b/drivers/xen/events.c > index d8cc812..6a6bbe4 100644 > --- a/drivers/xen/events.c > +++ b/drivers/xen/events.c > @@ -167,6 +167,8 @@ static void xen_irq_info_common_init(struct irq_info *info, > info->cpu = cpu; > > evtchn_to_irq[evtchn] = irq; > + > + irq_clear_status_flags(irq, IRQ_NOREQUEST|IRQ_NOAUTOEN); > } > > static void xen_irq_info_evtchn_init(unsigned irq, > @@ -874,7 +876,6 @@ int bind_evtchn_to_irq(unsigned int evtchn) > struct irq_info *info = info_for_irq(irq); > WARN_ON(info == NULL || info->type != IRQT_EVTCHN); > } > - irq_clear_status_flags(irq, IRQ_NOREQUEST|IRQ_NOAUTOEN); > > out: > mutex_unlock(&irq_mapping_update_lock); > -- > 1.7.10.4 >
| |