[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Bug report and patch about IRQ freezing after gic_restore_state
On Wed, 22 May 2013, Jaeyong Yoo wrote: > I got it. > Here goes the updated patch: > > Signed-off-by: Jaeyong Yoo <jaeyong.yoo@xxxxxxxxxxx> Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > xen/arch/arm/domain.c | 4 ++-- > xen/arch/arm/gic.c | 2 -- > 2 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c > index 9ca44ea..ee12b5f 100644 > --- a/xen/arch/arm/domain.c > +++ b/xen/arch/arm/domain.c > @@ -226,10 +226,10 @@ static void schedule_tail(struct vcpu *prev) > { > ctxt_switch_from(prev); > > - local_irq_enable(); > - > ctxt_switch_to(current); > > + local_irq_enable(); > + > if ( prev != current ) > update_runstate_area(current); > } > diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c > index 30bf8d1..d9940ea 100644 > --- a/xen/arch/arm/gic.c > +++ b/xen/arch/arm/gic.c > @@ -93,11 +93,9 @@ void gic_restore_state(struct vcpu *v) > if ( is_idle_vcpu(v) ) > return; > > - spin_lock_irq(&gic.lock); > this_cpu(lr_mask) = v->arch.lr_mask; > for ( i=0; i<nr_lrs; i++) > GICH[GICH_LR + i] = v->arch.gic_lr[i]; > - spin_unlock_irq(&gic.lock); > GICH[GICH_APR] = v->arch.gic_apr; > GICH[GICH_HCR] = GICH_HCR_EN; > isb(); > > best, > Jaeyong > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |