ionic: set ionic ptr before setting up ethtool ops
authorShannon Nelson <shannon.nelson@amd.com>
Mon, 4 Dec 2023 21:09:33 +0000 (13:09 -0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 6 Dec 2023 04:49:50 +0000 (20:49 -0800)
Set the lif->ionic value that is used in some ethtool callbacks
before setting ethtool ops.  There really shouldn't be any
race issues before this change since the netdev hasn't been
registered yet, but this seems more correct.

Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Link: https://lore.kernel.org/r/20231204210936.16587-3-shannon.nelson@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/pensando/ionic/ionic_lif.c

index afb77e2d04c5888dd49e9a38586682b031f44786..a5e6b1e2f5ee7fb296811bcd1ae5a48f92db8913 100644 (file)
@@ -3054,6 +3054,7 @@ int ionic_lif_alloc(struct ionic *ionic)
        lif = netdev_priv(netdev);
        lif->netdev = netdev;
        ionic->lif = lif;
+       lif->ionic = ionic;
        netdev->netdev_ops = &ionic_netdev_ops;
        ionic_ethtool_set_ops(netdev);
 
@@ -3076,7 +3077,6 @@ int ionic_lif_alloc(struct ionic *ionic)
        lif->neqs = ionic->neqs_per_lif;
        lif->nxqs = ionic->ntxqs_per_lif;
 
-       lif->ionic = ionic;
        lif->index = 0;
 
        if (is_kdump_kernel()) {