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.wangxiao...@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(-) diff --git a/drivers/net/hinic/base/hinic_pmd_cfg.c b/drivers/net/hinic/base/hinic_pmd_cfg.c index aa883e0..2d25dc9 100644 --- a/drivers/net/hinic/base/hinic_pmd_cfg.c +++ b/drivers/net/hinic/base/hinic_pmd_cfg.c @@ -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); diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c index 85e7c3c..cea026a 100644 --- a/drivers/net/hinic/hinic_pmd_ethdev.c +++ b/drivers/net/hinic/hinic_pmd_ethdev.c @@ -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); -- 1.8.3.1