aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Hauer <sascha@saschahauer.de>2005-10-10 10:17:42 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-10-10 10:17:42 +0100
commit86371d071bc38a181984b01d323b6172a4b7bb1f (patch)
treebc0e483864c97c0b38721ba4725028aa4d77116d
parentce80cc14810fbd78fa70c15c7e16a0b26d462fc6 (diff)
[ARM] 2957/1: imx UART Error handling
Patch from Sascha Hauer Fix error path in imx_startup. Signed-off-by: Giancarlo Formicuccia <gformicuccia@atinno.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--drivers/serial/imx.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index 4e1e80adaf1..53e0323d4b8 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -383,11 +383,11 @@ static int imx_startup(struct uart_port *port)
*/
retval = request_irq(sport->rxirq, imx_rxint, 0,
DRIVER_NAME, sport);
- if (retval) goto error_out2;
+ if (retval) goto error_out1;
retval = request_irq(sport->txirq, imx_txint, 0,
"imx-uart", sport);
- if (retval) goto error_out1;
+ if (retval) goto error_out2;
/*
* Finally, clear and enable interrupts
@@ -406,10 +406,9 @@ static int imx_startup(struct uart_port *port)
return 0;
-error_out1:
- free_irq(sport->rxirq, sport);
error_out2:
- free_irq(sport->txirq, sport);
+ free_irq(sport->rxirq, sport);
+error_out1:
return retval;
}