net/bnxt: fix setting VLAN anti spoof with same value
authorAjit Khaparde <ajit.khaparde@broadcom.com>
Tue, 25 Jul 2017 03:32:23 +0000 (22:32 -0500)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 31 Jul 2017 17:58:41 +0000 (19:58 +0200)
If the current VLAN anti spoof setting is same as the new value,
the firmware can return an error. Call the HWRM command to update
the new setting if it is different from the current value.

Fixes: 36735a932ca7 ("net/bnxt: support set VF QOS and MAC anti spoof")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/rte_pmd_bnxt.c

index c1876f8..dd7e5b8 100644 (file)
@@ -321,6 +321,9 @@ int rte_pmd_bnxt_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)
        if (vf >= dev_info.max_vfs)
                return -EINVAL;
 
+       if (on == bp->pf.vf_info[vf].vlan_spoof_en)
+               return 0;
+
        rc = bnxt_hwrm_func_cfg_vf_set_vlan_anti_spoof(bp, vf, on);
        if (!rc) {
                bp->pf.vf_info[vf].vlan_spoof_en = on;