fix for tty-serial-move-port
authorAlexander Beregalov <a.beregalov@gmail.com>
Fri, 2 Jan 2009 13:49:32 +0000 (13:49 +0000)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 2 Jan 2009 18:19:42 +0000 (10:19 -0800)
Hi Alan

next-20081204 crashes with the following message:

BUG: unable to handle kernel paging request at ffff88007d320248
IP: [<ffffffff803de934>] uart_remove_one_port+0xef/0x111
                kfree(info);
     393:       49 8d 7d 10             lea    0x10(%r13),%rdi
     397:       e8 00 00 00 00          callq  39c <uart_remove_one_port+0xef>

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/serial/serial_core.c

index daeba1c52c8edc0ac217a4e7d4627975ba5b5eaa..9425ed69e0f7cb3f354463e15105ef99363efe5b 100644 (file)
@@ -2530,10 +2530,8 @@ int uart_remove_one_port(struct uart_driver *drv, struct uart_port *port)
        /*
         * Kill the tasklet, and free resources.
         */
-       if (info) {
+       if (info)
                tasklet_kill(&info->tlet);
-               kfree(info);
-       }
 
        state->port = NULL;
        mutex_unlock(&port_mutex);