Re: [PATCH 0/3] serial: Fix support for UPF_SPD_* flags

From: Pali Rohár
Date: Tue Mar 22 2022 - 14:54:23 EST


On Tuesday 22 March 2022 16:29:08 Andy Shevchenko wrote:
> On Mon, Mar 21, 2022 at 11:07 PM Pali Rohár <pali@xxxxxxxxxx> wrote:
> >
> > Support for UPF_SPD_* flags is currently broken in more drivers for two
> > reasons. First one is that uart_update_timeout() function does not
>
> the uart_update_timeout()
>
> > calculate timeout for UPF_SPD_CUST flag correctly. Second reason is that
> > userspace termios structre is modified by most drivers after each
>
> structure
>
> ...
>
> > (error handling was ommited for simplification)
>
> omitted
>
> > After calling set_active_spd_cust_baud() function SPD custom divisor
> > should be active and therefore is_spd_cust_active() should return true.
> >
> > But it is not active (cfgetospeed does not return B38400) and this patch
> > series should fix it. I have tested it with 8250 driver.
>
> drivers
>
> > Originally Johan Hovold reported that there may be issue with these
> > ASYNC_SPD_FLAGS in email:
> > https://lore.kernel.org/linux-serial/20211007133146.28949-1-johan@xxxxxxxxxx/
> >
> >
> > Johan, Greg, could you please test these patches if there is not any
> > regression?
>
> I'm wondering why we are still supporting this ugly hack?
> Doesn't BOTHER work for you?

Johan pointed in above mentioned patch that it would break
ASYNC_SPD_FLAGS. So I have looked at how are ASYNC_SPD_FLAGS implemented
to ensure that they would work correctly...

> I would rather expect to have this removed completely.

Well, if somebody is going to remove it, I have no objections. But I
understood that ASYNC_SPD_FLAGS should be still supported...