The return value of platform_get_resource() needs to be checked. To avoid use of error pointer in case that there is no suitable resource. Fixes: ab4382d27412 ("tty: move drivers/serial/ to drivers/tty/serial/") Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- drivers/tty/serial/timbuart.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/timbuart.c b/drivers/tty/serial/timbuart.c index 08941eabe7b1..262154d2f40f 100644 --- a/drivers/tty/serial/timbuart.c +++ b/drivers/tty/serial/timbuart.c @@ -312,9 +312,14 @@ static const char *timbuart_type(struct uart_port *port) */ static void timbuart_release_port(struct uart_port *port) { + struct resource *res; + int size; struct platform_device *pdev = to_platform_device(port->dev); - int size = - resource_size(platform_get_resource(pdev, IORESOURCE_MEM, 0)); + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + size = 0; + else + size = resource_size(res); if (port->flags & UPF_IOREMAP) { iounmap(port->membase); -- 2.25.1