]> 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>
Fri, 27 Dec 2024 12:52:54 +0000 (13:52 +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 14865fc245dae77faa214d2b06cf2fe582c524ce..b746944bcd2aee959cf8274153b3ea5539b8a399 100644 (file)
@@ -3484,8 +3484,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;
        }