[PATCH v8 03/10] serial: sc16is7xx: remove obsolete out_thread label

From: Hugo Villeneuve
Date: Wed Jun 07 2023 - 10:07:23 EST


From: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>

Commit c8f71b49ee4d ("serial: sc16is7xx: setup GPIO controller later
in probe") moved GPIO setup code later in probe function. Doing so
also required to move ports cleanup code (out_ports label) after the
GPIO cleanup code.

After these moves, the out_thread label becomes misplaced and makes
part of the cleanup code illogical.

This patch remove the now obsolete out_thread label and make GPIO
setup code jump to out_ports label if it fails.

Fixes: c8f71b49ee4d ("serial: sc16is7xx: setup GPIO controller later in probe")
Signed-off-by: Hugo Villeneuve <hvilleneuve@xxxxxxxxxxxx>
---

I put a "Fixes" tag, even if the patch doesn't fix a "real" bug.

It could have been merged with later patch 6/10, but then the explanation
for the change would have been somewhat lost in the noise, and I think it
is important to clearly state in the logs why this change was done, to fix
a "logical" regression introduced by a previous patch.

I can remove the tag if it is deemed non appropriate.

drivers/tty/serial/sc16is7xx.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
index 0c903d44429c..9e9856846643 100644
--- a/drivers/tty/serial/sc16is7xx.c
+++ b/drivers/tty/serial/sc16is7xx.c
@@ -1516,7 +1516,7 @@ static int sc16is7xx_probe(struct device *dev,
s->gpio.can_sleep = 1;
ret = gpiochip_add_data(&s->gpio, s);
if (ret)
- goto out_thread;
+ goto out_ports;
}
#endif

@@ -1542,8 +1542,6 @@ static int sc16is7xx_probe(struct device *dev,
#ifdef CONFIG_GPIOLIB
if (devtype->nr_gpio)
gpiochip_remove(&s->gpio);
-
-out_thread:
#endif

out_ports:
--
2.30.2