Thread (3 messages) 3 messages, 2 authors, 2020-05-11

RE: [PATCH] tty: serial: imx: Add return value check for platform_get_irq()

From: Anson Huang <hidden>
Date: 2020-05-11 07:34:07
Also in: linux-serial, lkml

Hi, Uwe

Subject: Re: [PATCH] tty: serial: imx: Add return value check for
platform_get_irq()

Hello Anson,

On Mon, May 11, 2020 at 03:09:56PM +0800, Anson Huang wrote:
quoted
RX irq is required, so add return value check for platform_get_irq().

Signed-off-by: Anson Huang <redacted>
---
 drivers/tty/serial/imx.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index
f4d6810..f4023d9 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -2252,6 +2252,8 @@ static int imx_uart_probe(struct platform_device
*pdev)
quoted
 		return PTR_ERR(base);

 	rxirq = platform_get_irq(pdev, 0);
+	if (rxirq < 0)
+		return rxirq;
 	txirq = platform_get_irq_optional(pdev, 1);
 	rtsirq = platform_get_irq_optional(pdev, 2);
I'm not sure we need such a check as devm_request_irq fails if the return value
of platform_get_irq() is bogus.

But if we decide this construct is good enough, the error reporting needs some
love as currently it emits two error messages which is confusing.
From the driver, the RX IRQ is always required, if it failed in platform_get_irq(), then the
rest of the code is NOT necessary to be executed, and also I am NOT sure if platform_get_irq()
failed, the devm_request_irq will always failed?

Not very understand about your last question, the platform_get_irq() already has error message printed
out, so no additional error message is needed in the check. If looking through all other drivers, most
of the platform_get_irq() are having the return value check, if it failed in platform_get_irq(), driver can
just return error from .probe().

Anson

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help