| From 8f1bd8f2ad2358d6a88c115481ff3e69817d1bde Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de> |
| Date: Wed, 23 Sep 2015 08:57:40 +0200 |
| Subject: serial: atmel: fix error path of probe function |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de> |
| |
| 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> |
| |
| --- |
| drivers/tty/serial/atmel_serial.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/tty/serial/atmel_serial.c |
| +++ b/drivers/tty/serial/atmel_serial.c |
| @@ -2641,7 +2641,7 @@ static int atmel_serial_probe(struct pla |
| 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); |