can: mcp251x: mcp251x_can_probe(): add missing unregister_candev() in error path
In mcp251x_can_probe(), if mcp251x_gpio_setup() fails, it forgets to unregister the CAN device. Fix this by unregistering can device in mcp251x_can_probe(). Fixes: 2d52dabbef60 ("can: mcp251x: add GPIO support") Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn> Link: https://lore.kernel.org/all/20221024090256.717236-1-dzm91@hust.edu.cn [mkl: adjust label] Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
3e5b341882
commit
b1a09b6368
@ -1415,11 +1415,14 @@ static int mcp251x_can_probe(struct spi_device *spi)
|
|||||||
|
|
||||||
ret = mcp251x_gpio_setup(priv);
|
ret = mcp251x_gpio_setup(priv);
|
||||||
if (ret)
|
if (ret)
|
||||||
goto error_probe;
|
goto out_unregister_candev;
|
||||||
|
|
||||||
netdev_info(net, "MCP%x successfully initialized.\n", priv->model);
|
netdev_info(net, "MCP%x successfully initialized.\n", priv->model);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
out_unregister_candev:
|
||||||
|
unregister_candev(net);
|
||||||
|
|
||||||
error_probe:
|
error_probe:
|
||||||
destroy_workqueue(priv->wq);
|
destroy_workqueue(priv->wq);
|
||||||
priv->wq = NULL;
|
priv->wq = NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user