Messages in this thread | | | Date | Wed, 26 Nov 2014 09:26:24 -0800 | From | Greg KH <> | Subject | Re: [PATCH] tty, serial, 8250: remove __init from function serial8250_console_setup() |
| |
On Tue, Nov 25, 2014 at 11:21:22PM +0100, Arianna Avanzini wrote: > Some RS232 adapters handled by this driver are hotpluggable. The function > serial8250_console_setup() is called during device init and is defined with > the __init macro. In case the driver is built-in, hotplugging the device after > the initialization phase has been completed (and the related memory has been > freed) results in a kernel crash. > This commit fixes the issue by removing __init from the function definition. > > Signed-off-by: Arianna Avanzini <avanzini.arianna@gmail.com> > --- > drivers/tty/serial/8250/8250_core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c > index ca5cfdc..ca8108d 100644 > --- a/drivers/tty/serial/8250/8250_core.c > +++ b/drivers/tty/serial/8250/8250_core.c > @@ -3237,7 +3237,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) > serial8250_rpm_put(up); > } > > -static int __init serial8250_console_setup(struct console *co, char *options) > +static int serial8250_console_setup(struct console *co, char *options) > { > struct uart_port *port; > int baud = 9600; > -- > 2.1.3
This has already been in my tree for a long time, always work against linux-next to avoid redoing work that others have already done.
thanks,
greg k-h
| |