net: hns3: add nic_client check when initialize roce base information
authorLipeng <lipeng321@huawei.com>
Tue, 24 Oct 2017 13:02:10 +0000 (21:02 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:10:32 +0000 (10:10 +0100)
[ Upstream commit 3a46f34d20d453f09defb76b11a567647939c0aa ]

Roce driver works base on HNS3 driver.If insmod Roce driver before
NIC driver there is a error because do not check nic_client. This patch
adds nic_client check when initialize roce base information.

Fixes: 46a3df9 (net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support)
Signed-off-by: Lipeng <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 1df84a874d958a27c4ea0bfbd38e8e1233153278..a0ef97e7f3c93597ef2d90e7665f8bd271452a0d 100644 (file)
@@ -3981,7 +3981,7 @@ static int hclge_init_client_instance(struct hnae3_client *client,
                                vport->roce.client = client;
                        }
 
-                       if (hdev->roce_client) {
+                       if (hdev->roce_client && hdev->nic_client) {
                                ret = hclge_init_roce_base_info(vport);
                                if (ret)
                                        goto err;