From mboxrd@z Thu Jan 1 00:00:00 1970 From: leitao@linux.vnet.ibm.com Subject: [PATCH] 8250: Fix capabilities when changing the port type Date: Thu, 26 May 2011 11:18:39 -0300 Message-ID: <1306419519-10669-1-git-send-email-leitao@linux.vnet.ibm.com> References: <1306334898-16399-1-git-send-email-leitao@linux.vnet.ibm.com> Return-path: Received: from e24smtp03.br.ibm.com ([32.104.18.24]:50324 "EHLO e24smtp03.br.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751478Ab1EZOqJ (ORCPT ); Thu, 26 May 2011 10:46:09 -0400 Received: from /spool/local by e24smtp03.br.ibm.com with XMail ESMTP for from ; Thu, 26 May 2011 11:46:00 -0300 Received: from d24av01.br.ibm.com (d24av01.br.ibm.com [9.8.31.91]) by mailhub1.br.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p4QElLZk917976 for ; Thu, 26 May 2011 11:47:25 -0300 Received: from d24av01.br.ibm.com (loopback [127.0.0.1]) by d24av01.br.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p4QCjmZd001657 for ; Thu, 26 May 2011 09:45:49 -0300 In-Reply-To: <1306334898-16399-1-git-send-email-leitao@linux.vnet.ibm.com> Sender: linux-serial-owner@vger.kernel.org List-Id: linux-serial@vger.kernel.org To: gregkh@suse.de Cc: linux-serial@vger.kernel.org, scottk@digi.com, Breno Leitao , Michael Reed 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 CC: Michael Reed --- drivers/tty/serial/8250.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/tty/serial/8250.c b/drivers/tty/serial/8250.c index b40f7b9..b4129f5 100644 --- a/drivers/tty/serial/8250.c +++ b/drivers/tty/serial/8250.c @@ -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; -- 1.7.4.4