lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 19 Sep 2022 06:44:11 +0200 From: Jiri Slaby <jirislaby@...nel.org> To: "Maciej W. Rozycki" <macro@...am.me.uk>, Greg Kroah-Hartman <gregkh@...uxfoundation.org> Cc: Josh Triplett <josh@...htriplett.org>, Anders Blomdell <anders.blomdell@...trol.lth.se>, linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org, stable@...r.kernel.org Subject: Re: [PATCH 2/2] serial: 8250: Request full 16550A feature probing for OxSemi PCIe devices On 17. 09. 22, 12:07, Maciej W. Rozycki wrote: > Oxford Semiconductor PCIe (Tornado) 950 serial port devices need to > operate in the enhanced mode via the EFR register for the Divide-by-M > N/8 baud rate generator prescaler to be used in their native UART mode. > Otherwise the prescaler is fixed at 1 causing grossly incorrect baud > rates to be programmed. > > Accessing the EFR register requires 16550A features to have been probed > for, so request this to happen regardless of SERIAL_8250_16550A_VARIANTS > by setting UPF_FULL_PROBE in port flags. > > Signed-off-by: Maciej W. Rozycki <macro@...am.me.uk> > Reported-by: Anders Blomdell <anders.blomdell@...trol.lth.se> > Fixes: 366f6c955d4d ("serial: 8250: Add proper clock handling for OxSemi PCIe devices") > Cc: stable@...r.kernel.org # v5.19+ > --- > drivers/tty/serial/8250/8250_pci.c | 5 +++++ > 1 file changed, 5 insertions(+) > > linux-serial-8250-oxsemi-efr.diff > Index: linux-macro/drivers/tty/serial/8250/8250_pci.c > =================================================================== > --- linux-macro.orig/drivers/tty/serial/8250/8250_pci.c > +++ linux-macro/drivers/tty/serial/8250/8250_pci.c > @@ -1232,6 +1232,10 @@ static void pci_oxsemi_tornado_set_mctrl > serial8250_do_set_mctrl(port, mctrl); > } > > +/* > + * We require EFR features for clock programming, so set UPF_FULL_PROBE > + * for full probing regardless of CONFIG_SERIAL_8250_16550A_VARIANTS setting. > + */ It'd make more sense to me to move this comment right before the line you add below. > static int pci_oxsemi_tornado_setup(struct serial_private *priv, > const struct pciserial_board *board, > struct uart_8250_port *up, int idx) > @@ -1239,6 +1243,7 @@ static int pci_oxsemi_tornado_setup(stru > struct pci_dev *dev = priv->dev; > > if (pci_oxsemi_tornado_p(dev)) { > + up->port.flags |= UPF_FULL_PROBE; > up->port.get_divisor = pci_oxsemi_tornado_get_divisor; > up->port.set_divisor = pci_oxsemi_tornado_set_divisor; > up->port.set_mctrl = pci_oxsemi_tornado_set_mctrl; thanks, -- js suse labs
Powered by blists - more mailing lists