From: Leon Romanovsky <leonro@nvidia.com>
Date: Sat, 25 Sep 2021 14:22:46 +0300
Subject: ice: Open devlink when device is ready
Patch-mainline: v5.16-rc1
Git-commit: 838cefd5e52c4a3bfbc50e6a0194809ce27c759d
References: jsc#SLE-18375
Move devlink_registration routine to be the last command, when the
device is fully initialized.
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/ethernet/intel/ice/ice_main.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -4261,8 +4261,6 @@ ice_probe(struct pci_dev *pdev, const st
pf->msg_enable = netif_msg_init(debug, ICE_DFLT_NETIF_M);
- ice_devlink_register(pf);
-
#ifndef CONFIG_DYNAMIC_DEBUG
if (debug < -1)
hw->debug_mask = debug;
@@ -4496,6 +4494,7 @@ probe_done:
dev_warn(dev, "RDMA is not supported on this device\n");
}
+ ice_devlink_register(pf);
return 0;
err_init_aux_unroll:
@@ -4519,7 +4518,6 @@ err_init_pf_unroll:
ice_devlink_destroy_regions(pf);
ice_deinit_hw(hw);
err_exit_unroll:
- ice_devlink_unregister(pf);
pci_disable_pcie_error_reporting(pdev);
pci_disable_device(pdev);
return err;
@@ -4596,6 +4594,7 @@ static void ice_remove(struct pci_dev *p
struct ice_pf *pf = pci_get_drvdata(pdev);
int i;
+ ice_devlink_unregister(pf);
for (i = 0; i < ICE_MAX_RESET_WAIT; i++) {
if (!ice_is_reset_in_progress(pf->state))
break;
@@ -4633,7 +4632,6 @@ static void ice_remove(struct pci_dev *p
ice_deinit_pf(pf);
ice_devlink_destroy_regions(pf);
ice_deinit_hw(&pf->hw);
- ice_devlink_unregister(pf);
/* Issue a PFR as part of the prescribed driver unload flow. Do not
* do it via ice_schedule_reset() since there is no need to rebuild