[2/2] net/i40e: correct offload not supported mask

Message ID 20181026063314.100992-1-xiaolong.ye@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series None |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Xiaolong Ye Oct. 26, 2018, 6:33 a.m. UTC
  Just as the name I40E_TX_OFFLOAD_NOTSUP_MASK indicates, it should be the
mask of unsupported features (either not in PKT_TX_OFFLOAD_MASK or in
I40E_TX_OFFLOAD_MASK), however, xor will not get desired result here,
assume bit 0 of PKT_TX_OFFLOAD_MASK and I40E_TX_OFFLOAD_MAKS are 0 which
means corresponding feature is not supported in both sides, then we get
value of bit 0 of I40E_TX_OFFLOAD_NOTSUP_MASK which is 0 via xor, it
implies that it is supported which doesn't meet our expectation.

Correct it by a NOT-AND operation.

Fixes: 3f33e643e5c6 ("net/i40e: add Tx preparation")

Cc: tomaszx.kulasek@intel.com
Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>
---
 drivers/net/i40e/i40e_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Qi Zhang Oct. 27, 2018, 3:04 a.m. UTC | #1
> -----Original Message-----
> From: Ye, Xiaolong
> Sent: Friday, October 26, 2018 1:33 AM
> To: Zhang, Qi Z <qi.z.zhang@intel.com>; Xing, Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Ye, Xiaolong <xiaolong.ye@intel.com>; Kulasek, TomaszX
> <tomaszx.kulasek@intel.com>
> Subject: [PATCH 2/2] net/i40e: correct offload not supported mask
> 
> Just as the name I40E_TX_OFFLOAD_NOTSUP_MASK indicates, it should be
> the mask of unsupported features (either not in PKT_TX_OFFLOAD_MASK or
> in I40E_TX_OFFLOAD_MASK), however, xor will not get desired result here,
> assume bit 0 of PKT_TX_OFFLOAD_MASK and I40E_TX_OFFLOAD_MAKS are
> 0 which means corresponding feature is not supported in both sides, then we
> get value of bit 0 of I40E_TX_OFFLOAD_NOTSUP_MASK which is 0 via xor, it
> implies that it is supported which doesn't meet our expectation.
> 
> Correct it by a NOT-AND operation.
> 
> Fixes: 3f33e643e5c6 ("net/i40e: add Tx preparation")
> 
> Cc: tomaszx.kulasek@intel.com
> Signed-off-by: Xiaolong Ye <xiaolong.ye@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 8bfa25178..e76412207 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -69,7 +69,7 @@ 
 		I40E_TX_IEEE1588_TMST)
 
 #define I40E_TX_OFFLOAD_NOTSUP_MASK \
-		(PKT_TX_OFFLOAD_MASK ^ I40E_TX_OFFLOAD_MASK)
+		~(PKT_TX_OFFLOAD_MASK & I40E_TX_OFFLOAD_MASK)
 
 static inline void
 i40e_rxd_to_vlan_tci(struct rte_mbuf *mb, volatile union i40e_rx_desc *rxdp)