Commit 8b9d377a authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge tag 'linux-can-fixes-for-6.1-20221025' of...

Merge tag 'linux-can-fixes-for-6.1-20221025' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can

Marc Kleine-Budde says:

====================
pull-request: can 2022-10-25

The 1st patch adds a missing cleanup call in the error path of the
probe function in mpc5xxx glue code for the mscan driver.

The 2nd patch adds a missing cleanup call in the error path of the
probe function of the mcp251x driver.

* tag 'linux-can-fixes-for-6.1-20221025' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can:
  can: mcp251x: mcp251x_can_probe(): add missing unregister_candev() in error path
  can: mscan: mpc5xxx: mpc5xxx_can_probe(): add missing put_clock() in error path
====================

Link: https://lore.kernel.org/r/20221026075520.1502520-1-mkl@pengutronix.de


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents c5f0a172 b1a09b63
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -322,14 +322,14 @@ static int mpc5xxx_can_probe(struct platform_device *ofdev)
					       &mscan_clksrc);
	if (!priv->can.clock.freq) {
		dev_err(&ofdev->dev, "couldn't get MSCAN clock properties\n");
		goto exit_free_mscan;
		goto exit_put_clock;
	}

	err = register_mscandev(dev, mscan_clksrc);
	if (err) {
		dev_err(&ofdev->dev, "registering %s failed (err=%d)\n",
			DRV_NAME, err);
		goto exit_free_mscan;
		goto exit_put_clock;
	}

	dev_info(&ofdev->dev, "MSCAN at 0x%p, irq %d, clock %d Hz\n",
@@ -337,7 +337,9 @@ static int mpc5xxx_can_probe(struct platform_device *ofdev)

	return 0;

exit_free_mscan:
exit_put_clock:
	if (data->put_clock)
		data->put_clock(ofdev);
	free_candev(dev);
exit_dispose_irq:
	irq_dispose_mapping(irq);
+4 −1
Original line number Diff line number Diff line
@@ -1415,11 +1415,14 @@ static int mcp251x_can_probe(struct spi_device *spi)

	ret = mcp251x_gpio_setup(priv);
	if (ret)
		goto error_probe;
		goto out_unregister_candev;

	netdev_info(net, "MCP%x successfully initialized.\n", priv->model);
	return 0;

out_unregister_candev:
	unregister_candev(net);

error_probe:
	destroy_workqueue(priv->wq);
	priv->wq = NULL;