diff mbox series

serial: mps2-uart: Check for error irq

Message ID 20211222033604.1049339-1-jiasheng@iscas.ac.cn
State New
Headers show
Series serial: mps2-uart: Check for error irq | expand

Commit Message

Jiasheng Jiang Dec. 22, 2021, 3:36 a.m. UTC
I find that platform_get_irq() will not always succeed.
It will return error irq in case there is no suitable irq.
Therefore, it might be better to check it if order to avoid the use of
error irq.

Fixes: 041f031def33 ("serial: mps2-uart: add MPS2 UART driver")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
---
 drivers/tty/serial/mps2-uart.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff mbox series

Patch

diff --git a/drivers/tty/serial/mps2-uart.c b/drivers/tty/serial/mps2-uart.c
index 587b42f754cb..117d9896051f 100644
--- a/drivers/tty/serial/mps2-uart.c
+++ b/drivers/tty/serial/mps2-uart.c
@@ -585,10 +585,20 @@  static int mps2_init_port(struct platform_device *pdev,
 
 	if (mps_port->flags & UART_PORT_COMBINED_IRQ) {
 		mps_port->port.irq = platform_get_irq(pdev, 0);
+		if (mps_port->port.irq < 0)
+			return mps_port->port.irq;
 	} else {
 		mps_port->rx_irq = platform_get_irq(pdev, 0);
+		if (mps_port->rx_irq < 0)
+			return mps_port->rx_irq;
+
 		mps_port->tx_irq = platform_get_irq(pdev, 1);
+		if (mps_port->tx_irq < 0)
+			return mps_port->tx_irq;
+
 		mps_port->port.irq = platform_get_irq(pdev, 2);
+		if (mps_port->port.irq < 0)
+			return mps_port->port.irq;
 	}
 
 	return ret;