Commit fb59a520 authored by Przemek Kitszel's avatar Przemek Kitszel Committed by Tony Nguyen
Browse files

ice: ice_probe: init ice_adapter after HW init



Move ice_adapter initialization to be after HW init, so it could use HW
capabilities, like number of PFs. This is needed for devlink-resource
based RSS LUT size management for PF/VF (not in this series).

Reviewed-by: default avatarMarcin Szycik <marcin.szycik@linux.intel.com>
Signed-off-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent 5d5d9c2c
Loading
Loading
Loading
Loading
+11 −10
Original line number Diff line number Diff line
@@ -5277,13 +5277,7 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
	}

	pci_set_master(pdev);

	adapter = ice_adapter_get(pdev);
	if (IS_ERR(adapter))
		return PTR_ERR(adapter);

	pf->pdev = pdev;
	pf->adapter = adapter;
	pci_set_drvdata(pdev, pf);
	set_bit(ICE_DOWN, pf->state);
	/* Disable service task until DOWN bit is cleared */
@@ -5314,12 +5308,19 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
	err = ice_init_hw(hw);
	if (err) {
		dev_err(dev, "ice_init_hw failed: %d\n", err);
		goto unroll_adapter;
		return err;
	}

	adapter = ice_adapter_get(pdev);
	if (IS_ERR(adapter)) {
		err = PTR_ERR(adapter);
		goto unroll_hw_init;
	}
	pf->adapter = adapter;

	err = ice_init(pf);
	if (err)
		goto unroll_hw_init;
		goto unroll_adapter;

	devl_lock(priv_to_devlink(pf));
	err = ice_load(pf);
@@ -5338,10 +5339,10 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent)
unroll_init:
	devl_unlock(priv_to_devlink(pf));
	ice_deinit(pf);
unroll_hw_init:
	ice_deinit_hw(hw);
unroll_adapter:
	ice_adapter_put(pdev);
unroll_hw_init:
	ice_deinit_hw(hw);
	return err;
}