This code change is ok also, but it seems need to add more Judging branch? IF you think it is almost the same, I WILL commit a new v2.
> -----Original Message----- > From: Zhang, Qi Z > Sent: Friday, July 13, 2018 11:06 AM > To: Zhao1, Wei <wei.zh...@intel.com>; dev@dpdk.org > Cc: sta...@dpdk.org > Subject: RE: [PATCH] net/i40e: fix FDIR check programming status error > > > > > -----Original Message----- > > From: Zhao1, Wei > > Sent: Wednesday, July 11, 2018 4:25 PM > > To: dev@dpdk.org > > Cc: Zhang, Qi Z <qi.z.zh...@intel.com>; sta...@dpdk.org; Zhao1, Wei > > <wei.zh...@intel.com> > > Subject: [PATCH] net/i40e: fix FDIR check programming status error > > > > In i40e FDIR PMD code for checking programming status function > > i40e_check_fdir_programming_status(), the initial value of return > > value ret should be set to -1 not 0, because if DD bit of > > I40E_RX_DESC_STATUS_DD is not write back, this function will return > > 0 to upper function, this give an error info to upper function, the > > fact for this is it is time out for DD write back and it should return -1. > > > > Fixes: 05999aab4ca6 ("i40e: add or delete flow director") > > Signed-off-by: Wei Zhao <wei.zh...@intel.com> > > --- > > drivers/net/i40e/i40e_fdir.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/net/i40e/i40e_fdir.c > > b/drivers/net/i40e/i40e_fdir.c index > > d41601a..b958bf6 100644 > > --- a/drivers/net/i40e/i40e_fdir.c > > +++ b/drivers/net/i40e/i40e_fdir.c > > @@ -1315,7 +1315,7 @@ i40e_check_fdir_programming_status(struct > > i40e_rx_queue *rxq) > > uint32_t rx_status; > > uint32_t len, id; > > uint32_t error; > > - int ret = 0; > > + int ret = -1; > > > > rxdp = &rxq->rx_ring[rxq->rx_tail]; > > qword1 = rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len); > > @@ -1360,6 +1360,7 @@ i40e_check_fdir_programming_status(struct > > i40e_rx_queue *rxq) > > I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq- > >nb_rx_desc - 1); > > else > > I40E_PCI_REG_WRITE(rxq->qrx_tail, rxq->rx_tail - 1); > > + ret = 0; > > Is it possible to overwrite previous ret = -1 which is not what we want? > > I would prefer > > int ret = 0; > > If (dd bit is set) { > If xxx > Ret = -1; > If xxx > Ret = -1; > } else { > ret = -1; > } > > return ret; > > > } > > > > return ret; > > -- > > 2.7.5