[ARM] 2957/1: imx UART Error handling
authorSascha Hauer <sascha@saschahauer.de>
Mon, 10 Oct 2005 09:17:42 +0000 (10:17 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 10 Oct 2005 09:17:42 +0000 (10:17 +0100)
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>
drivers/serial/imx.c

index 4e1e80adaf11f4baae5d24e42dcfaaf1be2e26b7..53e0323d4b83c3ce49ce549f8bb6f4a7ecfb04d8 100644 (file)
@@ -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;
 }