]> git.droids-corp.org - dpdk.git/commitdiff
net/i40e: fix log error
authorBeilei Xing <beilei.xing@intel.com>
Tue, 5 Jul 2016 06:10:03 +0000 (14:10 +0800)
committerBruce Richardson <bruce.richardson@intel.com>
Fri, 8 Jul 2016 20:50:46 +0000 (22:50 +0200)
The condition, "(pf->flags | I40E_FLAG_VMDQ)" will always be true,
regardless of the value of the flags operand, because I40E_FLAG_VMDQ
is 4ULL - meaning at least one bit will always be set in the result.
That will cause log error when VMDq is disabled.
Since the original intent behind the condition is to check if VMDq
is enabled, fix the code by changing "|" to "&".

Coverity issue: 13219, 13221
Fixes: 4805ed59e957 ("i40e: enhance mac address operations")
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
drivers/net/i40e/i40e_ethdev.c

index 5ed4cfec1c2f7ee06c508f4373efb85d4c7c6f2c..1b8cdc8d0748c03cb7d52edae72f8fec515945a9 100644 (file)
@@ -2954,9 +2954,10 @@ i40e_macaddr_add(struct rte_eth_dev *dev,
        int ret;
 
        /* If VMDQ not enabled or configured, return */
-       if (pool != 0 && (!(pf->flags | I40E_FLAG_VMDQ) || !pf->nb_cfg_vmdq_vsi)) {
+       if (pool != 0 && (!(pf->flags & I40E_FLAG_VMDQ) ||
+                         !pf->nb_cfg_vmdq_vsi)) {
                PMD_DRV_LOG(ERR, "VMDQ not %s, can't set mac to pool %u",
-                       pf->flags | I40E_FLAG_VMDQ ? "configured" : "enabled",
+                       pf->flags & I40E_FLAG_VMDQ ? "configured" : "enabled",
                        pool);
                return;
        }
@@ -3007,7 +3008,7 @@ i40e_macaddr_remove(struct rte_eth_dev *dev, uint32_t index)
                                vsi = pf->main_vsi;
                        else {
                                /* No VMDQ pool enabled or configured */
-                               if (!(pf->flags | I40E_FLAG_VMDQ) ||
+                               if (!(pf->flags & I40E_FLAG_VMDQ) ||
                                        (i > pf->nb_cfg_vmdq_vsi)) {
                                        PMD_DRV_LOG(ERR, "No VMDQ pool enabled"
                                                        "/configured");