8250_core: Fix unwanted TX chars write
On transmit-hold-register empty, serial8250_tx_chars should be called only if we don't use DMA. DMA has its own tx cycle. Signed-off-by: Loic Poulain <loic.poulain@intel.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
					parent
					
						
							
								6a20dbd6ca
							
						
					
				
			
			
				commit
				
					
						b08c9c317e
					
				
			
		
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
					@ -1520,7 +1520,7 @@ int serial8250_handle_irq(struct uart_port *port, unsigned int iir)
 | 
				
			||||||
			status = serial8250_rx_chars(up, status);
 | 
								status = serial8250_rx_chars(up, status);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	serial8250_modem_status(up);
 | 
						serial8250_modem_status(up);
 | 
				
			||||||
	if (status & UART_LSR_THRE)
 | 
						if (!up->dma && (status & UART_LSR_THRE))
 | 
				
			||||||
		serial8250_tx_chars(up);
 | 
							serial8250_tx_chars(up);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	spin_unlock_irqrestore(&port->lock, flags);
 | 
						spin_unlock_irqrestore(&port->lock, flags);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue