diff options
| -rw-r--r-- | drivers/tty/serial/pch_uart.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/tty/serial/pch_uart.c b/drivers/tty/serial/pch_uart.c index e7d91d973d5..6e96304b7c8 100644 --- a/drivers/tty/serial/pch_uart.c +++ b/drivers/tty/serial/pch_uart.c @@ -656,10 +656,13 @@ static void pch_free_dma(struct uart_port *port)  		dma_release_channel(priv->chan_rx);  		priv->chan_rx = NULL;  	} -	if (sg_dma_address(&priv->sg_rx)) -		dma_free_coherent(port->dev, port->fifosize, -				  sg_virt(&priv->sg_rx), -				  sg_dma_address(&priv->sg_rx)); + +	if (priv->rx_buf_dma) { +		dma_free_coherent(port->dev, port->fifosize, priv->rx_buf_virt, +				  priv->rx_buf_dma); +		priv->rx_buf_virt = NULL; +		priv->rx_buf_dma = 0; +	}  	return;  }  |