On Fri, Apr 22, 2016 at 11:14:35PM +0200, Thomas Monjalon wrote:
> 2016-04-22 12:51, Yuanhan Liu:
> > On Fri, Apr 22, 2016 at 03:44:00PM +0200, Thomas Monjalon wrote:
> > > --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> > > +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> > > @@ -662,8 +662,8 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf 
> > > **rx_pkts, uint16_t nb_pkts)
> > >  
> > >           PMD_RX_LOG(DEBUG, "rxd idx: %d ring idx: %d.", idx, ring_idx);
> > >  
> > > -         VMXNET3_ASSERT(rcd->len <= rxd->len);
> > > -         VMXNET3_ASSERT(rbi->m);
> > > +         RTE_ASSERT(rcd->len <= rxd->len);
> > > +         RTE_ASSERT(rbi->m);
> > 
> > Seems this piece of code introduces a build error:
> > 
> >     drivers/net/vmxnet3/vmxnet3_rxtx.c: In function ?vmxnet3_recv_pkts?:
> >     drivers/net/vmxnet3/vmxnet3_rxtx.c:635:18: error: variable ?rxd? set 
> > but not used
> >       Vmxnet3_RxDesc *rxd;
> >                       ^
> 
> Indeed it can be seen with gcc when debug is disabled.
> It can be fixed this way:
> 
> --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c
> +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c
> @@ -658,6 +658,7 @@ vmxnet3_recv_pkts(void *rx_queue, struct rte_mbuf 
> **rx_pkts, uint16_t nb_pkts)
>                 idx = rcd->rxdIdx;
>                 ring_idx = (uint8_t)((rcd->rqID == rxq->qid1) ? 0 : 1);
>                 rxd = (Vmxnet3_RxDesc *)rxq->cmd_ring[ring_idx].base + idx;
> +               RTE_SET_USED(rxd); /* used only for assert when enabled */

How about adding the __rte_unused tag at where we declare it?

        --yliu

Reply via email to