diff options
Diffstat (limited to 'drivers/tty/serial/ucc_uart.c')
| -rw-r--r-- | drivers/tty/serial/ucc_uart.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/tty/serial/ucc_uart.c b/drivers/tty/serial/ucc_uart.c index 32c7a5b43f8e..404230c1ebb2 100644 --- a/drivers/tty/serial/ucc_uart.c +++ b/drivers/tty/serial/ucc_uart.c @@ -366,15 +366,14 @@ static int qe_uart_tx_pump(struct uart_qe_port *qe_port)  	/* Pick next descriptor and fill from buffer */  	bdp = qe_port->tx_cur; -	while (!(ioread16be(&bdp->status) & BD_SC_READY) && -	       (xmit->tail != xmit->head)) { +	while (!(ioread16be(&bdp->status) & BD_SC_READY) && !uart_circ_empty(xmit)) {  		count = 0;  		p = qe2cpu_addr(be32_to_cpu(bdp->buf), qe_port);  		while (count < qe_port->tx_fifosize) {  			*p++ = xmit->buf[xmit->tail];  			uart_xmit_advance(port, 1);  			count++; -			if (xmit->head == xmit->tail) +			if (uart_circ_empty(xmit))  				break;  		} @@ -1179,7 +1178,7 @@ static int soft_uart_init(struct platform_device *ofdev)  	struct qe_firmware_info *qe_fw_info;  	int ret; -	if (of_find_property(np, "soft-uart", NULL)) { +	if (of_property_read_bool(np, "soft-uart")) {  		dev_dbg(&ofdev->dev, "using Soft-UART mode\n");  		soft_uart = 1;  	} else {  |