From: Vladimir Senkov Date: Mon, 17 Jun 2013 00:30:52 +0000 (-0400) Subject: char/serial: fix copy&paste error (fifo8_is_full vs empty) X-Git-Tag: qemu-xen-4.4.0-rc1~6^2~285^2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b165b0d8e62bb65a02d7670d75ebb77a9280bde1;p=qemu-upstream-4.6-testing.git char/serial: fix copy&paste error (fifo8_is_full vs empty) Copy&paste error in serial.c causes a crash when attempting to read from UART (if there is no data to be read) Signed-off-by: Vladimir Senkov Reviewed-by: Peter Crosthwaite Signed-off-by: Michael Tokarev --- diff --git a/hw/char/serial.c b/hw/char/serial.c index b537e426b..6382f9838 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -424,7 +424,7 @@ static uint64_t serial_ioport_read(void *opaque, hwaddr addr, unsigned size) ret = s->divider & 0xff; } else { if(s->fcr & UART_FCR_FE) { - ret = fifo8_is_full(&s->recv_fifo) ? + ret = fifo8_is_empty(&s->recv_fifo) ? 0 : fifo8_pop(&s->recv_fifo); if (s->recv_fifo.num == 0) { s->lsr &= ~(UART_LSR_DR | UART_LSR_BI);