mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
Serial driver fixes for 6.19-rc7
Here are 3 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 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCaXY1Ow8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ylO9gCeNnCW0Z4/UcDhgyw033D4pvB9EvUAn2/fXgLd zd7zEVcx0Xn1oMYDx6Dp =4Tw5 -----END PGP SIGNATURE----- Merge tag 'tty-6.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 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
This commit is contained in:
commit
11de40c03c
|
|
@ -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 */
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user