Commit 05b537a1 authored by Jiri Slaby (SUSE)'s avatar Jiri Slaby (SUSE) Committed by Greg Kroah-Hartman
Browse files

serial: 8250: invert serial8250_register_8250_port() CIR condition



There is no point in a long 'if' in serial8250_register_8250_port() to
just return ENOSPC for PORT_8250_CIR ports. Invert the condition and
return immediately.

'gpios' variable was moved to its set location.

And return ENODEV instead of ENOSPC. The latter is a leftover from the
previous find-uart 'if'. The former makes a lot more sense in this case.

Signed-off-by: default avatar"Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20250611100319.186924-31-jirislaby@kernel.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 15c9dc73
Loading
Loading
Loading
Loading
+127 −126
Original line number Diff line number Diff line
@@ -725,8 +725,10 @@ int serial8250_register_8250_port(const struct uart_8250_port *up)
		nr_uarts++;
	}

	if (uart->port.type != PORT_8250_CIR) {
		struct mctrl_gpios *gpios;
	if (uart->port.type == PORT_8250_CIR) {
		ret = -ENODEV;
		goto unlock;
	}

	if (uart->port.dev)
		uart_remove_one_port(&serial8250_reg, &uart->port);
@@ -777,7 +779,7 @@ int serial8250_register_8250_port(const struct uart_8250_port *up)
	 * companion device
	 */
	if (!has_acpi_companion(uart->port.dev)) {
			gpios = mctrl_gpio_init(&uart->port, 0);
		struct mctrl_gpios *gpios = mctrl_gpio_init(&uart->port, 0);
		if (IS_ERR(gpios)) {
			ret = PTR_ERR(gpios);
			goto err;
@@ -858,7 +860,6 @@ int serial8250_register_8250_port(const struct uart_8250_port *up)
	} else {
		uart->overrun_backoff_time_ms = 0;
	}
	}

unlock:
	mutex_unlock(&serial_mutex);