diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2015-09-23 08:57:40 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-22 14:43:27 -0700 |
commit | 8a1d5ab8258cfd3143eae034ee2a07e08ae2cf42 (patch) | |
tree | 6110f9564a8b6f61656813a47cd8528ad9b109d5 | |
parent | 5e2b2e1c44da4a44931466eb0a47b097840be43a (diff) | |
download | lwn-8a1d5ab8258cfd3143eae034ee2a07e08ae2cf42.tar.gz lwn-8a1d5ab8258cfd3143eae034ee2a07e08ae2cf42.zip |
serial: atmel: fix error path of probe function
commit 8f1bd8f2ad2358d6a88c115481ff3e69817d1bde upstream.
If atmel_init_gpios fails the port has already been marked as busy (in
line 2629), so this must be undone in the error path.
This bug was introduced because I created the patch that finally
became 722ccf416ac2 ("serial: atmel: fix error handling when
mctrl_gpio_init fails") on top of 3.19 which didn't have commit
6fbb9bdf0f3f ("tty/serial: at91: fix error handling in
atmel_serial_probe()") yet.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fixes: 722ccf416ac2 ("serial: atmel: fix error handling when mctrl_gpio_init fails")
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/tty/serial/atmel_serial.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c index 5ca1dfb0561c..85323ff75edf 100644 --- a/drivers/tty/serial/atmel_serial.c +++ b/drivers/tty/serial/atmel_serial.c @@ -2640,7 +2640,7 @@ static int atmel_serial_probe(struct platform_device *pdev) ret = atmel_init_gpios(port, &pdev->dev); if (ret < 0) { dev_err(&pdev->dev, "Failed to initialize GPIOs."); - goto err; + goto err_clear_bit; } ret = atmel_init_port(port, pdev); |