]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ionic: Fix check in ionic_get_link_ext_stats
authorBrett Creeley <brett.creeley@amd.com>
Sun, 14 Jun 2026 20:52:59 +0000 (13:52 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 16 Jun 2026 01:15:08 +0000 (18:15 -0700)
The current check will fail if SR-IOV is not initialized for the
physical function; this is because is_physfn is 0 if sriov_init() isn't
run or fails. Change the check that prevents getting the link down count
to use is_virtfn instead so that VFs don't get this functionality, which
was the original intent.

Fixes: 132b4ebfa090 ("ionic: add support for ethtool extended stat link_down_count")
Signed-off-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: Eric Joyner <eric.joyner@amd.com>
Link: https://patch.msgid.link/20260614205303.48088-2-eric.joyner@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c

index 78a802eb159f0ac11557c3f308549c6100cec6cb..6069fa460913187261b4461695e6633d45a8cf99 100644 (file)
@@ -116,8 +116,15 @@ static void ionic_get_link_ext_stats(struct net_device *netdev,
 {
        struct ionic_lif *lif = netdev_priv(netdev);
 
-       if (lif->ionic->pdev->is_physfn)
-               stats->link_down_events = lif->link_down_count;
+       if (lif->ionic->pdev->is_virtfn)
+               return;
+
+       if (!lif->ionic->idev.port_info) {
+               netdev_err_once(netdev, "port_info not initialized\n");
+               return;
+       }
+
+       stats->link_down_events = lif->link_down_count;
 }
 
 static int ionic_get_link_ksettings(struct net_device *netdev,