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

From: Jiri Slaby
Date: Wed May 11 2022 - 05:39:21 EST


On 11. 05. 22, 9:15, Zheng Bin wrote:
max3100_probe misses a call uart_unregister_driver in error path,
this patch fixes that.

I believe, that's intentional. Cf. uart_driver_registered.

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



--
js
suse labs