Hi Kefeng,

On Fri, May 31 2019, Kefeng Wang wrote:
> 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 <[email protected]>
> Signed-off-by: Kefeng Wang <[email protected]>

Acked-by: Baruch Siach <[email protected]>

Thanks,
baruch

> ---
>  drivers/tty/serial/digicolor-usart.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> 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);

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - [email protected] - tel: +972.52.368.4656, http://www.tkos.co.il -

Reply via email to