| From 2dc17f253c2627524da362ba6824f5098d76687d Mon Sep 17 00:00:00 2001 |
| From: Geert Uytterhoeven <geert+renesas@linux-m68k.org> |
| Date: Fri, 28 Feb 2014 14:21:33 +0100 |
| Subject: serial: sh-sci: Add missing call to uart_remove_one_port() in failure |
| path |
| |
| If cpufreq_register_notifier() fails, we have to remove the port added by |
| sci_probe_single(), which is not done by sci_cleanup_single(). |
| |
| Else the serial port stays active from the point of view of the serial |
| subsystem, and it may crash when userspace getty is started, or when the |
| loadable driver module is unloaded. |
| |
| This was introduced by commit 6dae14216c85eea13db7b12c469475c5d30e5499 |
| ("serial: sh-sci: Fix probe error paths"). |
| |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@linux-m68k.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit bf13c9a894162a91c8bb7d9555933e9fc3ff7d0e) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/tty/serial/sh-sci.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c |
| index 1668523d31fb..0cb52376f97d 100644 |
| --- a/drivers/tty/serial/sh-sci.c |
| +++ b/drivers/tty/serial/sh-sci.c |
| @@ -2564,6 +2564,7 @@ static int sci_probe(struct platform_device *dev) |
| ret = cpufreq_register_notifier(&sp->freq_transition, |
| CPUFREQ_TRANSITION_NOTIFIER); |
| if (unlikely(ret < 0)) { |
| + uart_remove_one_port(&sci_uart_driver, &sp->port); |
| sci_cleanup_single(sp); |
| return ret; |
| } |
| -- |
| 2.1.2 |
| |