]>
Commit | Line | Data |
---|---|---|
657d997b GKH |
1 | From 1e66cded334e6cea596c72f6f650eec351b1e959 Mon Sep 17 00:00:00 2001 |
2 | From: Alan Cox <alan@linux.intel.com> | |
3 | Date: Mon, 14 May 2012 14:51:22 +0100 | |
4 | Subject: tty: Allow uart_register/unregister/register | |
5 | ||
6 | From: Alan Cox <alan@linux.intel.com> | |
7 | ||
8 | commit 1e66cded334e6cea596c72f6f650eec351b1e959 upstream. | |
9 | ||
10 | This is legitimate but because we don't clear the drv->state pointer in the | |
11 | unregister code causes a bogus BUG(). | |
12 | ||
13 | Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=42880 | |
14 | Signed-off-by: Alan Cox <alan@linux.intel.com> | |
15 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
16 | ||
17 | --- | |
18 | drivers/tty/serial/serial_core.c | 1 + | |
19 | 1 file changed, 1 insertion(+) | |
20 | ||
21 | --- a/drivers/tty/serial/serial_core.c | |
22 | +++ b/drivers/tty/serial/serial_core.c | |
23 | @@ -2283,6 +2283,7 @@ void uart_unregister_driver(struct uart_ | |
24 | tty_unregister_driver(p); | |
25 | put_tty_driver(p); | |
26 | kfree(drv->state); | |
27 | + drv->state = NULL; | |
28 | drv->tty_driver = NULL; | |
29 | } | |
30 |