In case of error, the function devm_ioremap() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Fixes: b7e2b5360f9b ("serial: mvebu-uart: implement UART clock driver for configuring UART base clock") Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx> --- drivers/tty/serial/mvebu-uart.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c index 2e9263888ddc..45976e2140d4 100644 --- a/drivers/tty/serial/mvebu-uart.c +++ b/drivers/tty/serial/mvebu-uart.c @@ -1382,8 +1382,8 @@ static int mvebu_uart_clock_probe(struct platform_device *pdev) */ uart_clock_base->reg1 = devm_ioremap(dev, res->start, resource_size(res)); - if (IS_ERR(uart_clock_base->reg1)) - return PTR_ERR(uart_clock_base->reg1); + if (!uart_clock_base->reg1) + return -ENOMEM; res = platform_get_resource(pdev, IORESOURCE_MEM, 1); if (!res) { @@ -1401,8 +1401,8 @@ static int mvebu_uart_clock_probe(struct platform_device *pdev) */ uart_clock_base->reg2 = devm_ioremap(dev, res->start, resource_size(res)); - if (IS_ERR(uart_clock_base->reg2)) - return PTR_ERR(uart_clock_base->reg2); + if (!uart_clock_base->reg2) + return -ENOMEM; hw_clk_data = devm_kzalloc(dev, struct_size(hw_clk_data, hws,