Re: [PATCH -next] tty: serial: max3100: Add missing uart_unregister_driver in max3100_probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 11, 2022 at 03:15:23PM +0800, Zheng Bin wrote:
> max3100_probe misses a call uart_unregister_driver in error path,
> this patch fixes that.
> 
> Signed-off-by: Zheng Bin <zhengbin13@xxxxxxxxxx>
> ---
>  drivers/tty/serial/max3100.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/tty/serial/max3100.c b/drivers/tty/serial/max3100.c
> index 0b5f21fbb53d..6d34ca2a3f7b 100644
> --- a/drivers/tty/serial/max3100.c
> +++ b/drivers/tty/serial/max3100.c
> @@ -752,6 +752,7 @@ static int max3100_probe(struct spi_device *spi)
>  		if (!max3100s[i])
>  			break;
>  	if (i == MAX_MAX3100) {
> +		uart_unregister_driver(&max3100_uart_driver);
>  		dev_warn(&spi->dev, "too many MAX3100 chips\n");
>  		mutex_unlock(&max3100s_lock);
>  		return -ENOMEM;
> @@ -759,6 +760,7 @@ static int max3100_probe(struct spi_device *spi)
> 
>  	max3100s[i] = kzalloc(sizeof(struct max3100_port), GFP_KERNEL);
>  	if (!max3100s[i]) {
> +		uart_unregister_driver(&max3100_uart_driver);
>  		dev_warn(&spi->dev,
>  			 "kmalloc for max3100 structure %d failed!\n", i);
>  		mutex_unlock(&max3100s_lock);

As Jiri said, this change would break the existing devices that are
registered with this driver.

How did you test this change?  What tool found this?  How was it
verified?

thanks,

greg k-h



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux