As the devm_clk_get() may return ERR_PTR, its return value needs to be checked to avoid invalid poineter dereference. Fixes: 157b9394709e ("serial: pic32_uart: Add PIC32 UART driver") Signed-off-by: Yuan Can <yuancan@xxxxxxxxxx> --- drivers/tty/serial/pic32_uart.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/pic32_uart.c b/drivers/tty/serial/pic32_uart.c index 2beada66c824..ad16c5d28a30 100644 --- a/drivers/tty/serial/pic32_uart.c +++ b/drivers/tty/serial/pic32_uart.c @@ -890,6 +890,8 @@ static int pic32_uart_probe(struct platform_device *pdev) sport->irq_rx = irq_of_parse_and_map(np, 1); sport->irq_tx = irq_of_parse_and_map(np, 2); sport->clk = devm_clk_get(&pdev->dev, NULL); + if (IS_ERR(sport->clk)) + return PTR_ERR(sport->clk); sport->dev = &pdev->dev; /* Hardware flow control: gpios -- 2.17.1