Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1f96579 authored by Jacob Keller's avatar Jacob Keller Committed by Jeff Kirsher
Browse files

ixgbe: cleanup ixgbe_enumerate_functions



This function previously had the same check as used by the
ixgbe_pcie_from_parent. As the hardcode is due to the device having an internal
switch, this function should simply use the call from ixgbe_pcie_from_parent.
This reduces code complexity and makes it less likely a developer will forget
to update the list in the future.

Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 781798a1
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -7362,19 +7362,16 @@ static const struct net_device_ops ixgbe_netdev_ops = {
 **/
static inline int ixgbe_enumerate_functions(struct ixgbe_adapter *adapter)
{
	struct ixgbe_hw *hw = &adapter->hw;
	struct list_head *entry;
	int physfns = 0;

	/* Some cards can not use the generic count PCIe functions method, and
	 * so must be hardcoded to the correct value.
	/* Some cards can not use the generic count PCIe functions method,
	 * because they are behind a parent switch, so we hardcode these with
	 * the correct number of functions.
	 */
	switch (hw->device_id) {
	case IXGBE_DEV_ID_82599_SFP_SF_QP:
	case IXGBE_DEV_ID_82599_QSFP_SF_QP:
	if (ixgbe_pcie_from_parent(&adapter->hw)) {
		physfns = 4;
		break;
	default:
	} else {
		list_for_each(entry, &adapter->pdev->bus_list) {
			struct pci_dev *pdev =
				list_entry(entry, struct pci_dev, bus_list);