[v5,3/4] net/hinic: increase judgment for support NIC or not
Checks
Commit Message
If hardware mode for this card does not support nic,
the network features for this card will not be supported
and driver will be initialized failed.
Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
---
drivers/net/hinic/base/hinic_pmd_cfg.c | 3 ++-
drivers/net/hinic/hinic_pmd_ethdev.c | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
@@ -129,7 +129,7 @@ static void hinic_parse_pub_res_cap(struct service_cap *cap,
cap->max_rqs = dev_cap->nic_max_rq;
}
- cap->chip_svc_type = CFG_SVC_NIC_BIT0;
+ cap->chip_svc_type = dev_cap->svc_cap_en;
cap->host_total_function = dev_cap->host_total_func;
cap->host_oq_id_mask_val = dev_cap->host_oq_id_mask_val;
@@ -140,6 +140,7 @@ static void hinic_parse_pub_res_cap(struct service_cap *cap,
PMD_DRV_LOG(INFO, "host_total_function: 0x%x, host_oq_id_mask_val: 0x%x, max_vf: 0x%x",
cap->host_total_function, cap->host_oq_id_mask_val,
cap->max_vf);
+ PMD_DRV_LOG(INFO, "chip_svc_type: 0x%x", cap->chip_svc_type);
PMD_DRV_LOG(INFO, "pf_num: 0x%x, pf_id_start: 0x%x, vf_num: 0x%x, vf_id_start: 0x%x",
cap->pf_num, cap->pf_id_start,
cap->vf_num, cap->vf_id_start);
@@ -2811,8 +2811,12 @@ static int hinic_nic_dev_create(struct rte_eth_dev *eth_dev)
}
/* get nic capability */
- if (!hinic_support_nic(nic_dev->hwdev, &nic_dev->nic_cap))
+ if (!hinic_support_nic(nic_dev->hwdev, &nic_dev->nic_cap)) {
+ PMD_DRV_LOG(ERR, "Hw doesn't support nic, dev_name: %s",
+ eth_dev->data->name);
+ rc = -EINVAL;
goto nic_check_fail;
+ }
/* init root cla and function table */
rc = hinic_init_nicio(nic_dev->hwdev);