Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26146b0e authored by Antoine Tenart's avatar Antoine Tenart Committed by David S. Miller
Browse files

net: mvpp2: cleanup probed ports in the probe error path



This patches fixes the probe error path by cleaning up probed ports, to
avoid leaving registered net devices when the driver failed to probe.

Fixes: 3f518509 ("ethernet: Add new driver for Marvell Armada 375 network unit")
Signed-off-by: default avatarAntoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ba2d8d88
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -8329,7 +8329,7 @@ static int mvpp2_probe(struct platform_device *pdev)
	for_each_available_child_of_node(dn, port_node) {
		err = mvpp2_port_probe(pdev, port_node, priv, i);
		if (err < 0)
			goto err_mg_clk;
			goto err_port_probe;
		i++;
	}

@@ -8345,12 +8345,19 @@ static int mvpp2_probe(struct platform_device *pdev)
	priv->stats_queue = create_singlethread_workqueue(priv->queue_name);
	if (!priv->stats_queue) {
		err = -ENOMEM;
		goto err_mg_clk;
		goto err_port_probe;
	}

	platform_set_drvdata(pdev, priv);
	return 0;

err_port_probe:
	i = 0;
	for_each_available_child_of_node(dn, port_node) {
		if (priv->port_list[i])
			mvpp2_port_remove(priv->port_list[i]);
		i++;
	}
err_mg_clk:
	clk_disable_unprepare(priv->axi_clk);
	if (priv->hw_version == MVPP22)