can: mcp251xfd: mcp251xfd_probe(): fix an error pointer dereference in probe
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 3 May 2021 14:49:09 +0000 (17:49 +0300)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Thu, 6 May 2021 07:24:06 +0000 (09:24 +0200)
When we converted this code to use dev_err_probe() we accidentally
removed a return. It means that if devm_clk_get() it will lead to an
Oops when we call clk_get_rate() on the next line.

Fixes: cf8ee6de2543 ("can: mcp251xfd: mcp251xfd_probe(): use dev_err_probe() to simplify error handling")
Link: https://lore.kernel.org/r/YJANZf13Qxd5Mhr1@mwanda
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c

index 970dc57..f122976 100644 (file)
@@ -2885,8 +2885,8 @@ static int mcp251xfd_probe(struct spi_device *spi)
 
        clk = devm_clk_get(&spi->dev, NULL);
        if (IS_ERR(clk))
-               dev_err_probe(&spi->dev, PTR_ERR(clk),
-                             "Failed to get Oscillator (clock)!\n");
+               return dev_err_probe(&spi->dev, PTR_ERR(clk),
+                                    "Failed to get Oscillator (clock)!\n");
        freq = clk_get_rate(clk);
 
        /* Sanity check */