Re: [PATCH] serial: 8250: Fix mismerge regarding serial_lsr_in()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2 Feb 2023, Uwe Kleine-König wrote:

> On Thu, Feb 02, 2023 at 01:26:08PM +0200, Ilpo Järvinen wrote:
> > On Thu, 2 Feb 2023, Uwe Kleine-König wrote:
> > 
> > > The relevant history introducing serial_lsr_in() looks as follows:
> > > 
> > > 	$ git log --graph --oneline --boundary 9fafe733514b..df36f3e3fbb7 -- drivers/tty/serial/8250/8250_port.c
> > > 	*   df36f3e3fbb7 Merge tag 'v5.19-rc3' into tty-next
> > > 	|\
> > > 	| * be03b0651ffd serial: 8250: Store to lsr_save_flags after lsr read
> > > 	* | ...
> > > 	* | bdb70c424df1 serial: 8250: Create serial_lsr_in()
> > > 	* | ce338e4477cf serial: 8250: Store to lsr_save_flags after lsr read
> > > 	* | ...
> > > 	|/
> > > 	o 9fafe733514b tty: remove CMSPAR ifdefs
> > > 
> > > So the patch "serial: 8250: Store to lsr_save_flags after lsr read" was
> > > introduced twice and in one branch it was followed up by commit
> > > bdb70c424df1 ("serial: 8250: Create serial_lsr_in()") which moved
> > > explicit lsr_saved_flags handling into a new function serial_lsr_in().
> > > When the two branches were merged in commit df36f3e3fbb7, we got both,
> > > serial_lsr_in() and the explicit lsr_saved_flags handling.
> > > 
> > > So drop the explicit lsr_saved_flags handling.
> > > 
> > > Fixes: df36f3e3fbb7 ("Merge tag 'v5.19-rc3' into tty-next")
> > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> > > ---
> > >  drivers/tty/serial/8250/8250_port.c | 2 --
> > >  1 file changed, 2 deletions(-)
> > > 
> > > diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
> > > index 33be7aad11ef..e61753c295d5 100644
> > > --- a/drivers/tty/serial/8250/8250_port.c
> > > +++ b/drivers/tty/serial/8250/8250_port.c
> > > @@ -1512,8 +1512,6 @@ static inline void __stop_tx(struct uart_8250_port *p)
> > >  		u16 lsr = serial_lsr_in(p);
> > >  		u64 stop_delay = 0;
> > >  
> > > -		p->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS;
> > > -
> > >  		if (!(lsr & UART_LSR_THRE))
> > >  			return;
> > >  		/*
> > 
> > I don't know if Fixes tag is appropriate here. This fixes the mismerge 
> > yes, however, the removed line itself seems harmless so there's no real 
> > problem to fix.
> 
> It might make a difference if LSR_SAVE_FLAGS != p->lsr_save_mask.

But currently lsr_save_mask always has at least LSR_SAVE_FLAGS bits so 
that OR is no-op.

-- 
 i.

[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux