]> www.infradead.org Git - users/dwmw2/linux.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)
committerJakub Kicinski <kuba@kernel.org>
Sun, 15 Dec 2024 22:33:31 +0000 (14:33 -0800)
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>
drivers/net/ethernet/pensando/ionic/ionic_lif.c

index 40496587b2b31819f3e30b2edf13e3b66eaa31bc..3d3f936779f7d9375e5c9bf229c1e8f460b6303b 100644 (file)
@@ -3869,8 +3869,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;
        }