diff options
author | Sascha Hauer <sascha@saschahauer.de> | 2005-10-10 05:17:42 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-10-10 05:17:42 -0400 |
commit | 86371d071bc38a181984b01d323b6172a4b7bb1f (patch) | |
tree | bc0e483864c97c0b38721ba4725028aa4d77116d | |
parent | ce80cc14810fbd78fa70c15c7e16a0b26d462fc6 (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.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c index 4e1e80adaf11..53e0323d4b83 100644 --- a/drivers/serial/imx.c +++ b/drivers/serial/imx.c | |||
@@ -383,11 +383,11 @@ static int imx_startup(struct uart_port *port) | |||
383 | */ | 383 | */ |
384 | retval = request_irq(sport->rxirq, imx_rxint, 0, | 384 | retval = request_irq(sport->rxirq, imx_rxint, 0, |
385 | DRIVER_NAME, sport); | 385 | DRIVER_NAME, sport); |
386 | if (retval) goto error_out2; | 386 | if (retval) goto error_out1; |
387 | 387 | ||
388 | retval = request_irq(sport->txirq, imx_txint, 0, | 388 | retval = request_irq(sport->txirq, imx_txint, 0, |
389 | "imx-uart", sport); | 389 | "imx-uart", sport); |
390 | if (retval) goto error_out1; | 390 | if (retval) goto error_out2; |
391 | 391 | ||
392 | /* | 392 | /* |
393 | * Finally, clear and enable interrupts | 393 | * Finally, clear and enable interrupts |
@@ -406,10 +406,9 @@ static int imx_startup(struct uart_port *port) | |||
406 | 406 | ||
407 | return 0; | 407 | return 0; |
408 | 408 | ||
409 | error_out1: | ||
410 | free_irq(sport->rxirq, sport); | ||
411 | error_out2: | 409 | error_out2: |
412 | free_irq(sport->txirq, sport); | 410 | free_irq(sport->rxirq, sport); |
411 | error_out1: | ||
413 | return retval; | 412 | return retval; |
414 | } | 413 | } |
415 | 414 | ||