Commit 11de40c0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull serial driver fixes from Greg KH:
 "Here are three small serial driver fixes for 6.19-rc7 that resolve
  some reported issues. They include:

   - tty->port race condition fix for a reported problem

   - qcom_geni serial driver fix

   - 8250_pci serial driver fix

  All of these have been in linux-next with no reported issues"

* tag 'tty-6.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  serial: Fix not set tty->port race condition
  serial: 8250_pci: Fix broken RS485 for F81504/508/512
  serial: qcom_geni: Fix BT failure regression on RB2 platform
parents 913fb068 32f37e57
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1658,7 +1658,7 @@ static int pci_fintek_rs485_config(struct uart_port *port, struct ktermios *term
}

static const struct serial_rs485 pci_fintek_rs485_supported = {
	.flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND,
	.flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | SER_RS485_RTS_AFTER_SEND,
	/* F81504/508/512 does not support RTS delay before or after send */
};

+6 −7
Original line number Diff line number Diff line
@@ -1888,12 +1888,6 @@ static int qcom_geni_serial_probe(struct platform_device *pdev)
	if (ret)
		goto error;

	devm_pm_runtime_enable(port->se.dev);

	ret = uart_add_one_port(drv, uport);
	if (ret)
		goto error;

	if (port->wakeup_irq > 0) {
		device_init_wakeup(&pdev->dev, true);
		ret = dev_pm_set_dedicated_wake_irq(&pdev->dev,
@@ -1901,11 +1895,16 @@ static int qcom_geni_serial_probe(struct platform_device *pdev)
		if (ret) {
			device_init_wakeup(&pdev->dev, false);
			ida_free(&port_ida, uport->line);
			uart_remove_one_port(drv, uport);
			goto error;
		}
	}

	devm_pm_runtime_enable(port->se.dev);

	ret = uart_add_one_port(drv, uport);
	if (ret)
		goto error;

	return 0;

error:
+6 −0
Original line number Diff line number Diff line
@@ -3074,6 +3074,12 @@ static int serial_core_add_one_port(struct uart_driver *drv, struct uart_port *u
	if (uport->cons && uport->dev)
		of_console_check(uport->dev->of_node, uport->cons->name, uport->line);

	/*
	 * TTY port has to be linked with the driver before register_console()
	 * in uart_configure_port(), because user-space could open the console
	 * immediately after.
	 */
	tty_port_link_device(port, drv->tty_driver, uport->line);
	uart_configure_port(drv, state, uport);

	port->console = uart_console(uport);