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

Reply via email to