diff --git a/drivers/amlogic/uart/meson_uart.c b/drivers/amlogic/uart/meson_uart.c index a691d4d36e9b02..9f5c2de0c35929 100644 --- a/drivers/amlogic/uart/meson_uart.c +++ b/drivers/amlogic/uart/meson_uart.c @@ -1150,12 +1150,15 @@ static int meson_uart_resume(struct platform_device *pdev) u32 val; port = platform_get_drvdata(pdev); - if (port) { - if (port->line == 0) - return 0; - uart_resume_port(&meson_uart_driver, port); + if (!port) { + dev_err(&pdev->dev, "port is NULL"); + return 0; } + if (port->line == 0) + return 0; + uart_resume_port(&meson_uart_driver, port); + val = readl(port->membase + AML_UART_CONTROL); if (!(val & AML_UART_TWO_WIRE_EN)) { val &= ~(0x1 << 31); @@ -1172,11 +1175,15 @@ static int meson_uart_suspend(struct platform_device *pdev, u32 val; port = platform_get_drvdata(pdev); - if (port) { - if (port->line == 0) - return 0; - uart_suspend_port(&meson_uart_driver, port); + if (!port) { + dev_err(&pdev->dev, "port is NULL"); + return 0; } + + if (port->line == 0) + return 0; + uart_suspend_port(&meson_uart_driver, port); + val = readl(port->membase + AML_UART_CONTROL); /* if rts/cts is open, pull up rts pin * when in suspend