Browse Source

[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>
Sascha Hauer 19 years ago
parent
commit
86371d071b
1 changed files with 4 additions and 5 deletions
  1. 4 5
      drivers/serial/imx.c

+ 4 - 5
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;
 }