i40e: properly add VF MAC addresses
[linux-2.6-block.git] / drivers / net / ethernet / intel / i40e / i40e_virtchnl_pf.c
index 07596982a4773fc942a5a0c3b8a458bdaa837768..59973012c35de93c26252ba30169852c1ea18a5a 100644 (file)
@@ -70,7 +70,7 @@ static inline bool i40e_vc_isvalid_vector_id(struct i40e_vf *vf, u8 vector_id)
 {
        struct i40e_pf *pf = vf->pf;
 
-       return vector_id < pf->hw.func_caps.num_msix_vectors_vf;
+       return vector_id <= pf->hw.func_caps.num_msix_vectors_vf;
 }
 
 /***********************vf resource mgmt routines*****************/
@@ -1603,7 +1603,7 @@ static int i40e_vc_add_mac_addr_msg(struct i40e_vf *vf, u8 *msg, u16 msglen)
                struct i40e_mac_filter *f;
 
                f = i40e_find_mac(vsi, al->list[i].addr, true, false);
-               if (f) {
+               if (!f) {
                        if (i40e_is_vsi_in_vlan(vsi))
                                f = i40e_put_mac_in_vlan(vsi, al->list[i].addr,
                                                         true, false);