[dpdk-dev] i40e: fix inverted check for ETH_TXQ_FLAGS_NOREFCOUNT

Message ID 1450858080-71465-1-git-send-email-rlane@bigswitch.com (mailing list archive)
State Accepted, archived
Delegated to: Bruce Richardson
Headers

Commit Message

Rich Lane Dec. 23, 2015, 8:08 a.m. UTC
  The no-refcount path was being taken without the application opting in to it.

Reported-by: Mike Stolarchuk <mike.stolarchuk@bigswitch.com>
Signed-off-by: Rich Lane <rlane@bigswitch.com>
---
 drivers/net/i40e/i40e_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Zhang, Helin Dec. 23, 2015, 8:42 a.m. UTC | #1
> -----Original Message-----
> From: Rich Lane [mailto:rich.lane@bigswitch.com]
> Sent: Wednesday, December 23, 2015 4:08 PM
> To: dev@dpdk.org
> Cc: Zhang, Helin
> Subject: [PATCH] i40e: fix inverted check for ETH_TXQ_FLAGS_NOREFCOUNT
> 
> The no-refcount path was being taken without the application opting in to it.
> 
> Reported-by: Mike Stolarchuk <mike.stolarchuk@bigswitch.com>
> Signed-off-by: Rich Lane <rlane@bigswitch.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>

Thanks for the good catch!
  
Bruce Richardson Feb. 10, 2016, 4:04 p.m. UTC | #2
On Wed, Dec 23, 2015 at 08:42:26AM +0000, Zhang, Helin wrote:
> 
> 
> > -----Original Message-----
> > From: Rich Lane [mailto:rich.lane@bigswitch.com]
> > Sent: Wednesday, December 23, 2015 4:08 PM
> > To: dev@dpdk.org
> > Cc: Zhang, Helin
> > Subject: [PATCH] i40e: fix inverted check for ETH_TXQ_FLAGS_NOREFCOUNT
> > 
> > The no-refcount path was being taken without the application opting in to it.
> > 
> > Reported-by: Mike Stolarchuk <mike.stolarchuk@bigswitch.com>
> > Signed-off-by: Rich Lane <rlane@bigswitch.com>
> Acked-by: Helin Zhang <helin.zhang@intel.com>
> 
> Thanks for the good catch!

Applied to dpdk-next-net/rel_16_04

Thanks,
/Bruce
  

Patch

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 39d94ec..d0bdeb9 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -1762,7 +1762,7 @@  i40e_tx_free_bufs(struct i40e_tx_queue *txq)
 	for (i = 0; i < txq->tx_rs_thresh; i++)
 		rte_prefetch0((txep + i)->mbuf);
 
-	if (!(txq->txq_flags & (uint32_t)ETH_TXQ_FLAGS_NOREFCOUNT)) {
+	if (txq->txq_flags & (uint32_t)ETH_TXQ_FLAGS_NOREFCOUNT) {
 		for (i = 0; i < txq->tx_rs_thresh; ++i, ++txep) {
 			rte_mempool_put(txep->mbuf->pool, txep->mbuf);
 			txep->mbuf = NULL;