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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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