aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial
diff options
context:
space:
mode:
authorKefeng Wang <wangkefeng.wang@huawei.com>2019-05-31 21:37:33 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-06-10 19:08:31 +0200
commitc7ad9ba0611c53cfe194223db02e3bca015f0674 (patch)
treee47ab52bff63238a93c612e235f621b19fdffd1e /drivers/tty/serial
parentserial: stm32: Make stm32_get_databits static (diff)
downloadlinux-dev-c7ad9ba0611c53cfe194223db02e3bca015f0674.tar.xz
linux-dev-c7ad9ba0611c53cfe194223db02e3bca015f0674.zip
tty/serial: digicolor: Fix digicolor-usart already registered warning
When modprobe/rmmod/modprobe module, if platform_driver_register() fails, the kernel complained, proc_dir_entry 'driver/digicolor-usart' already registered WARNING: CPU: 1 PID: 5636 at fs/proc/generic.c:360 proc_register+0x19d/0x270 Fix this by adding uart_unregister_driver() when platform_driver_register() fails. Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com> Acked-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial')
-rw-r--r--drivers/tty/serial/digicolor-usart.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/tty/serial/digicolor-usart.c b/drivers/tty/serial/digicolor-usart.c
index f460cca139e2..13ac36e2da4f 100644
--- a/drivers/tty/serial/digicolor-usart.c
+++ b/drivers/tty/serial/digicolor-usart.c
@@ -541,7 +541,11 @@ static int __init digicolor_uart_init(void)
if (ret)
return ret;
- return platform_driver_register(&digicolor_uart_platform);
+ ret = platform_driver_register(&digicolor_uart_platform);
+ if (ret)
+ uart_unregister_driver(&digicolor_uart);
+
+ return ret;
}
module_init(digicolor_uart_init);