]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
bnxt_en: Improve bnxt_probe_phy().
authorMichael Chan <michael.chan@broadcom.com>
Mon, 27 Jan 2020 09:56:14 +0000 (04:56 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jan 2020 10:33:28 +0000 (11:33 +0100)
If the 2nd parameter fw_dflt is not set, we are calling bnxt_probe_phy()
after the firmware has reset.  There is no need to query the current
PHY settings from firmware as these settings may be different from
the ethtool settings that the driver will re-establish later.  So
return earlier in bnxt_probe_phy() to save one firmware call.

Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 4b6f746c43571b2e8dc2980a3b7fdd32b6d1f0b6..4d790bca124ee4635c6be1be54e1d59da5bca57f 100644 (file)
@@ -11471,6 +11471,9 @@ static int bnxt_probe_phy(struct bnxt *bp, bool fw_dflt)
                           rc);
                return rc;
        }
+       if (!fw_dflt)
+               return 0;
+
        rc = bnxt_update_link(bp, false);
        if (rc) {
                netdev_err(bp->dev, "Probe phy can't update link (rc: %x)\n",
@@ -11484,9 +11487,6 @@ static int bnxt_probe_phy(struct bnxt *bp, bool fw_dflt)
        if (link_info->auto_link_speeds && !link_info->support_auto_speeds)
                link_info->support_auto_speeds = link_info->support_speeds;
 
-       if (!fw_dflt)
-               return 0;
-
        bnxt_init_ethtool_link_settings(bp);
        return 0;
 }