Commit 838cefd5 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by David S. Miller

ice: Open devlink when device is ready

Move devlink_registration routine to be the last command, when the
device is fully initialized.
Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 44691f53
...@@ -4258,8 +4258,6 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent) ...@@ -4258,8 +4258,6 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
pf->msg_enable = netif_msg_init(debug, ICE_DFLT_NETIF_M); pf->msg_enable = netif_msg_init(debug, ICE_DFLT_NETIF_M);
ice_devlink_register(pf);
#ifndef CONFIG_DYNAMIC_DEBUG #ifndef CONFIG_DYNAMIC_DEBUG
if (debug < -1) if (debug < -1)
hw->debug_mask = debug; hw->debug_mask = debug;
...@@ -4493,6 +4491,7 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent) ...@@ -4493,6 +4491,7 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
dev_warn(dev, "RDMA is not supported on this device\n"); dev_warn(dev, "RDMA is not supported on this device\n");
} }
ice_devlink_register(pf);
return 0; return 0;
err_init_aux_unroll: err_init_aux_unroll:
...@@ -4516,7 +4515,6 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent) ...@@ -4516,7 +4515,6 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
ice_devlink_destroy_regions(pf); ice_devlink_destroy_regions(pf);
ice_deinit_hw(hw); ice_deinit_hw(hw);
err_exit_unroll: err_exit_unroll:
ice_devlink_unregister(pf);
pci_disable_pcie_error_reporting(pdev); pci_disable_pcie_error_reporting(pdev);
pci_disable_device(pdev); pci_disable_device(pdev);
return err; return err;
...@@ -4593,6 +4591,7 @@ static void ice_remove(struct pci_dev *pdev) ...@@ -4593,6 +4591,7 @@ static void ice_remove(struct pci_dev *pdev)
struct ice_pf *pf = pci_get_drvdata(pdev); struct ice_pf *pf = pci_get_drvdata(pdev);
int i; int i;
ice_devlink_unregister(pf);
for (i = 0; i < ICE_MAX_RESET_WAIT; i++) { for (i = 0; i < ICE_MAX_RESET_WAIT; i++) {
if (!ice_is_reset_in_progress(pf->state)) if (!ice_is_reset_in_progress(pf->state))
break; break;
...@@ -4629,7 +4628,6 @@ static void ice_remove(struct pci_dev *pdev) ...@@ -4629,7 +4628,6 @@ static void ice_remove(struct pci_dev *pdev)
ice_deinit_pf(pf); ice_deinit_pf(pf);
ice_devlink_destroy_regions(pf); ice_devlink_destroy_regions(pf);
ice_deinit_hw(&pf->hw); ice_deinit_hw(&pf->hw);
ice_devlink_unregister(pf);
/* Issue a PFR as part of the prescribed driver unload flow. Do not /* 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 * do it via ice_schedule_reset() since there is no need to rebuild
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment