X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fiavf%2Fiavf_vchnl.c;h=25d5cdaf54da7cb46699a519ef4b6011ee46b1c4;hb=95f2f0e9fc2a66bc3cb077f31aca69feb29680aa;hp=33d03af6534b89394491e04692bdc57224f2ee0c;hpb=22e294e0e664263caa152b701e24e315cdafae48;p=dpdk.git diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c index 33d03af653..25d5cdaf54 100644 --- a/drivers/net/iavf/iavf_vchnl.c +++ b/drivers/net/iavf/iavf_vchnl.c @@ -644,12 +644,12 @@ iavf_enable_queues_lv(struct iavf_adapter *adapter) args.out_buffer = vf->aq_resp; args.out_size = IAVF_AQ_BUF_SZ; err = iavf_execute_vf_cmd(adapter, &args); - if (err) { + if (err) PMD_DRV_LOG(ERR, "Failed to execute command of OP_ENABLE_QUEUES_V2"); - return err; - } - return 0; + + rte_free(queue_select); + return err; } int @@ -688,12 +688,12 @@ iavf_disable_queues_lv(struct iavf_adapter *adapter) args.out_buffer = vf->aq_resp; args.out_size = IAVF_AQ_BUF_SZ; err = iavf_execute_vf_cmd(adapter, &args); - if (err) { + if (err) PMD_DRV_LOG(ERR, "Failed to execute command of OP_DISABLE_QUEUES_V2"); - return err; - } - return 0; + + rte_free(queue_select); + return err; } int @@ -737,6 +737,8 @@ iavf_switch_queue_lv(struct iavf_adapter *adapter, uint16_t qid, if (err) PMD_DRV_LOG(ERR, "Failed to execute command of %s", on ? "OP_ENABLE_QUEUES_V2" : "OP_DISABLE_QUEUES_V2"); + + rte_free(queue_select); return err; } @@ -1341,6 +1343,29 @@ iavf_add_del_rss_cfg(struct iavf_adapter *adapter, return err; } +int +iavf_set_hena(struct iavf_adapter *adapter, uint64_t hena) +{ + struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter); + struct virtchnl_rss_hena vrh; + struct iavf_cmd_info args; + int err; + + vrh.hena = hena; + args.ops = VIRTCHNL_OP_SET_RSS_HENA; + args.in_args = (u8 *)&vrh; + args.in_args_size = sizeof(vrh); + args.out_buffer = vf->aq_resp; + args.out_size = IAVF_AQ_BUF_SZ; + + err = iavf_execute_vf_cmd(adapter, &args); + if (err) + PMD_DRV_LOG(ERR, + "Failed to execute command of OP_SET_RSS_HENA"); + + return err; +} + int iavf_add_del_mc_addr_list(struct iavf_adapter *adapter, struct rte_ether_addr *mc_addrs,