[dpdk-dev] cxgbe: fix unnecessary check for freelist existence while freeing rxq

Message ID 66655e2d7666da09b80174d265eef304b8d93470.1449821728.git.rahul.lakkireddy@chelsio.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Rahul Lakkireddy Dec. 11, 2015, 8:25 a.m. UTC
  When refilling freelists for the first time and if it fails, the rxq
is freed and returns ENOMEM. There is a check while freeing hardware rxq
to pass freelist context id if the freelist exists or 0xffff otherwise.
The error path is only reached if freelist exists. So, fix is to remove
the useless check for freelist existence.

Thanks to John McNamara <john.mcnamara@intel.com> for reporting it.

Coverity issue: 107108
Fixes: 92c8a63223e5 ("cxgbe: add device configuration and Rx support")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
 drivers/net/cxgbe/sge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

John McNamara Dec. 11, 2015, 2:44 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Rahul Lakkireddy
> Sent: Friday, December 11, 2015 8:26 AM
> To: dev@dpdk.org
> Cc: Felix Marti; Kumar Sanghvi; Nirranjan Kirubaharan
> Subject: [dpdk-dev] [PATCH] cxgbe: fix unnecessary check for freelist
> existence while freeing rxq
> 
> When refilling freelists for the first time and if it fails, the rxq is
> freed and returns ENOMEM. There is a check while freeing hardware rxq to
> pass freelist context id if the freelist exists or 0xffff otherwise.
> The error path is only reached if freelist exists. So, fix is to remove
> the useless check for freelist existence.
> 
> Thanks to John McNamara <john.mcnamara@intel.com> for reporting it.
> 
> Coverity issue: 107108
> Fixes: 92c8a63223e5 ("cxgbe: add device configuration and Rx support")
> 
> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>

Thanks for updating the Coverity Triage for the issue.

Acked-by: John McNamara <john.mcnamara@intel.com>
  
Thomas Monjalon Dec. 12, 2015, 11:55 p.m. UTC | #2
> > When refilling freelists for the first time and if it fails, the rxq is
> > freed and returns ENOMEM. There is a check while freeing hardware rxq to
> > pass freelist context id if the freelist exists or 0xffff otherwise.
> > The error path is only reached if freelist exists. So, fix is to remove
> > the useless check for freelist existence.
> > 
> > Thanks to John McNamara <john.mcnamara@intel.com> for reporting it.
> > 
> > Coverity issue: 107108
> > Fixes: 92c8a63223e5 ("cxgbe: add device configuration and Rx support")
> > 
> > Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
> > Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
> 
> Thanks for updating the Coverity Triage for the issue.
> 
> Acked-by: John McNamara <john.mcnamara@intel.com>

Applied, thanks
  

Patch

diff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c
index 51449e0..3c62d03 100644
--- a/drivers/net/cxgbe/sge.c
+++ b/drivers/net/cxgbe/sge.c
@@ -1823,7 +1823,7 @@  int t4_sge_alloc_rxq(struct adapter *adap, struct sge_rspq *iq, bool fwevtq,
 
 refill_fl_err:
 	t4_iq_free(adap, adap->mbox, adap->pf, 0, FW_IQ_TYPE_FL_INT_CAP,
-		   iq->cntxt_id, fl ? fl->cntxt_id : 0xffff, 0xffff);
+		   iq->cntxt_id, fl->cntxt_id, 0xffff);
 fl_nomem:
 	ret = -ENOMEM;
 err: