On Wed, Feb 14, 2018 at 02:58:41AM +0000, Michael Kelley (EOSG) wrote:
> > -----Original Message-----
> > From: Dan Carpenter <dan.carpen...@oracle.com>
> > Sent: Monday, February 12, 2018 12:42 AM
> > To: KY Srinivasan <k...@microsoft.com>; Stephen Hemminger
> > <step...@networkplumber.org>
> > Cc: gre...@linuxfoundation.org; linux-kernel@vger.kernel.org; 
> > de...@linuxdriverproject.org;
> > o...@aepfle.de; a...@canonical.com; vkuzn...@redhat.com; 
> > jasow...@redhat.com;
> > leann.ogasaw...@canonical.com; marcelo.ce...@canonical.com; Stephen 
> > Hemminger
> > <sthem...@microsoft.com>; Michael Kelley (EOSG) 
> > <michael.h.kel...@microsoft.com>
> > Subject: Re: [PATCH 08/12] Drivers: hv: vmbus: Implement Direct Mode for 
> > stimer0
> > 
> > On Sun, Feb 11, 2018 at 05:33:16PM -0700, k...@exchange.microsoft.com wrote:
> > > @@ -116,9 +146,29 @@ static int hv_ce_set_oneshot(struct 
> > > clock_event_device *evt)
> > >  {
> > >   union hv_timer_config timer_cfg;
> > >
> > > + timer_cfg.as_uint64 = 0;
> > >   timer_cfg.enable = 1;
> > >   timer_cfg.auto_enable = 1;
> > > - timer_cfg.sintx = VMBUS_MESSAGE_SINT;
> > > + if (direct_mode_enabled)
> > > +         /*
> > > +          * When it expires, the timer will directly interrupt
> > > +          * on the specified hardware vector/IRQ.
> > > +          */
> > > +         {
> > > +         timer_cfg.direct_mode = 1;
> > > +         timer_cfg.apic_vector = stimer0_vector;
> > > +         hv_enable_stimer0_percpu_irq(stimer0_irq);
> > > +         }
> > > + else
> > > +         /*
> > > +          * When it expires, the timer will generate a VMbus message,
> > > +          * to be handled by the normal VMbus interrupt handler.
> > > +          */
> > > +         {
> > > +         timer_cfg.direct_mode = 0;
> > > +         timer_cfg.sintx = VMBUS_MESSAGE_SINT;
> > > +         }
> > > +
> > 
> > This indenting isn't right.  We should probably zero out .apic_vector
> > if .direct_mode is zero.  Or maybe it's fine.  I don't know if any
> > static analysis tools will complain...
> 
> I'll fix the indenting.  Old habits ....
> 
> The " timer_cfg.as_uint64 = 0" statement already zero's out .apic_vector
> along with all the other unused fields in the 64-bit value, as required by
> the Hyper-V spec.

Ah, you're right, of course.

regards,
dan carpenter

Reply via email to