On Thu, Aug 20, 2020 at 05:28:21PM +0100, Andrew Cooper wrote:
> On 20/08/2020 16:34, Roger Pau Monne wrote:
> > Currently the dpci EOI callback is only executed for specific EOIs.
> > This is wrong as non-specific EOIs will also clear the ISR bit and
> > thus end the interrupt. Re-arrange the code a bit so that the common
> > EOI handling path can be shared between all EOI modes.
> >
> > Signed-off-by: Roger Pau Monné <roger....@citrix.com>
> > ---
> >  xen/arch/x86/hvm/vpic.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c
> > index feb1db2ee3..3cf12581e9 100644
> > --- a/xen/arch/x86/hvm/vpic.c
> > +++ b/xen/arch/x86/hvm/vpic.c
> > @@ -249,15 +249,15 @@ static void vpic_ioport_write(
> >                  if ( priority == VPIC_PRIO_NONE )
> >                      break;
> >                  pin = (priority + vpic->priority_add) & 7;
> > -                vpic->isr &= ~(1 << pin);
> > -                if ( cmd == 5 )
> > -                    vpic->priority_add = (pin + 1) & 7;
> > -                break;
> > +                goto common_eoi;
> > +
> >              case 3: /* Specific EOI                */
> >              case 7: /* Specific EOI & Rotate       */
> >                  pin = val & 7;
> 
> You'll need a /* Fallthrough */ here to keep various things happy.
> 
> Otherwise, Acked-by: Andrew Cooper <andrew.coop...@citrix.com>
> 
> Can fix on commit if you're happy.

Sure, I was borderline to add it but somehow assumed that
/* Fallthrough */ was required for cases but not labels.

Thanks, Roger.

Reply via email to