]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ionic: Fix netdev notifier unregister on failure
authorBrett Creeley <brett.creeley@amd.com>
Thu, 12 Dec 2024 21:31:55 +0000 (13:31 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jan 2025 12:28:31 +0000 (13:28 +0100)
[ Upstream commit 9590d32e090ea2751e131ae5273859ca22f5ac14 ]

If register_netdev() fails, then the driver leaks the netdev notifier.
Fix this by calling ionic_lif_unregister() on register_netdev()
failure. This will also call ionic_lif_unregister_phc() if it has
already been registered.

Fixes: 30b87ab4c0b3 ("ionic: remove lif list concept")
Signed-off-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20241212213157.12212-2-shannon.nelson@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/pensando/ionic/ionic_lif.c

index 910d8973a4b00f36237d146b2817e1489bd92f25..cdc3c55fab6ac19bce61489e10ea21360f4cf15a 100644 (file)
@@ -3514,8 +3514,8 @@ int ionic_lif_register(struct ionic_lif *lif)
        /* only register LIF0 for now */
        err = register_netdev(lif->netdev);
        if (err) {
-               dev_err(lif->ionic->dev, "Cannot register net device, aborting\n");
-               ionic_lif_unregister_phc(lif);
+               dev_err(lif->ionic->dev, "Cannot register net device: %d, aborting\n", err);
+               ionic_lif_unregister(lif);
                return err;
        }