serial: ucc_uart: access __be32 field using be32_to_cpu
The buf member of struct qe_bd is a __be32, so to make this work on little-endian hosts, use be32_to_cpu when reading it. Reviewed-by: Timur Tabi <timur@kernel.org> Acked-by: Timur Tabi <timur@kernel.org> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Li Yang <leoyang.li@nxp.com>
This commit is contained in:
parent
b0816f88b9
commit
09a39ec9de
|
@ -343,7 +343,7 @@ static int qe_uart_tx_pump(struct uart_qe_port *qe_port)
|
||||||
/* Pick next descriptor and fill from buffer */
|
/* Pick next descriptor and fill from buffer */
|
||||||
bdp = qe_port->tx_cur;
|
bdp = qe_port->tx_cur;
|
||||||
|
|
||||||
p = qe2cpu_addr(bdp->buf, qe_port);
|
p = qe2cpu_addr(be32_to_cpu(bdp->buf), qe_port);
|
||||||
|
|
||||||
*p++ = port->x_char;
|
*p++ = port->x_char;
|
||||||
qe_iowrite16be(1, &bdp->length);
|
qe_iowrite16be(1, &bdp->length);
|
||||||
|
@ -371,7 +371,7 @@ static int qe_uart_tx_pump(struct uart_qe_port *qe_port)
|
||||||
while (!(qe_ioread16be(&bdp->status) & BD_SC_READY) &&
|
while (!(qe_ioread16be(&bdp->status) & BD_SC_READY) &&
|
||||||
(xmit->tail != xmit->head)) {
|
(xmit->tail != xmit->head)) {
|
||||||
count = 0;
|
count = 0;
|
||||||
p = qe2cpu_addr(bdp->buf, qe_port);
|
p = qe2cpu_addr(be32_to_cpu(bdp->buf), qe_port);
|
||||||
while (count < qe_port->tx_fifosize) {
|
while (count < qe_port->tx_fifosize) {
|
||||||
*p++ = xmit->buf[xmit->tail];
|
*p++ = xmit->buf[xmit->tail];
|
||||||
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
|
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
|
||||||
|
@ -491,7 +491,7 @@ static void qe_uart_int_rx(struct uart_qe_port *qe_port)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get pointer */
|
/* get pointer */
|
||||||
cp = qe2cpu_addr(bdp->buf, qe_port);
|
cp = qe2cpu_addr(be32_to_cpu(bdp->buf), qe_port);
|
||||||
|
|
||||||
/* loop through the buffer */
|
/* loop through the buffer */
|
||||||
while (i-- > 0) {
|
while (i-- > 0) {
|
||||||
|
|
Loading…
Reference in New Issue