8250: Fix capabilities when changing the port type
authorleitao@linux.vnet.ibm.com <leitao@linux.vnet.ibm.com>
Thu, 26 May 2011 14:18:39 +0000 (11:18 -0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 7 Jun 2011 16:29:35 +0000 (09:29 -0700)
When changing the port type, the capabilities flags should be changed
also, otherwise the capabilities will not correspond to the port type,
which make set_sleep() crash on rmmod.

This patch just assign the correct capabilites when the port changes.

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
CC: Michael Reed <mreed@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/tty/serial/8250.c

index b40f7b90c81da53925c420f7d8e37a18a739d4dd..b4129f53fb1b1c7a6fe5d18e7fd2ed8097fcdfda 100644 (file)
@@ -3318,6 +3318,7 @@ void serial8250_unregister_port(int line)
                uart->port.flags &= ~UPF_BOOT_AUTOCONF;
                uart->port.type = PORT_UNKNOWN;
                uart->port.dev = &serial8250_isa_devs->dev;
+               uart->capabilities = uart_config[uart->port.type].flags;
                uart_add_one_port(&serial8250_reg, &uart->port);
        } else {
                uart->port.dev = NULL;