@@ -683,12 +683,16 @@ static int asc_init_port(struct asc_port *ascport,
struct resource *res;
int ret;
+ ret = platform_get_irq(pdev, 0);
+ if (ret < 0)
+ return ret;
+
port->iotype = UPIO_MEM;
port->flags = UPF_BOOT_AUTOCONF;
port->ops = &asc_uart_ops;
port->fifosize = ASC_FIFO_SIZE;
port->dev = &pdev->dev;
- port->irq = platform_get_irq(pdev, 0);
+ port->irq = ret;
port->has_sysrq = IS_ENABLED(CONFIG_SERIAL_ST_ASC_CONSOLE);
port->membase = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
The platform_get_irq() might be failed and return a negative result, there should be return an error code when platform_get_irq() failed. Fix it by add check return value of platform_get_irq(). Fixes: c4b058560762 ("serial:st-asc: Add ST ASC driver.") Signed-off-by: Yi Yang <yiyang13@huawei.com> --- drivers/tty/serial/st-asc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)