[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]

 



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);
--
2.31.1




[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