From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35712) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UosyR-0004kv-TC for qemu-devel@nongnu.org; Tue, 18 Jun 2013 06:17:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UosyN-0000EL-B9 for qemu-devel@nongnu.org; Tue, 18 Jun 2013 06:17:15 -0400 Received: from mail-ea0-x236.google.com ([2a00:1450:4013:c01::236]:65459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UosyN-0000EH-0w for qemu-devel@nongnu.org; Tue, 18 Jun 2013 06:17:11 -0400 Received: by mail-ea0-f182.google.com with SMTP id d10so2448350eaj.41 for ; Tue, 18 Jun 2013 03:17:10 -0700 (PDT) From: edgar.iglesias@gmail.com Date: Tue, 18 Jun 2013 12:14:11 +0200 Message-Id: <1371550451-28150-1-git-send-email-edgar.iglesias@gmail.com> Subject: [Qemu-devel] [PATCH] cadence_uart: Handle backend tx errors List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.crosthwaite@xilinx.com From: "Edgar E. Iglesias" Signed-off-by: Edgar E. Iglesias --- hw/char/cadence_uart.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c index c2a7834..2219a0e 100644 --- a/hw/char/cadence_uart.c +++ b/hw/char/cadence_uart.c @@ -298,7 +298,12 @@ static void uart_write_tx_fifo(UartState *s, const uint8_t *buf, int size) } while (size) { - size -= qemu_chr_fe_write(s->chr, buf, size); + int r; + r = qemu_chr_fe_write_all(s->chr, buf, size); + if (r < 0) { + break; + } + size -= r; } } -- 1.7.10.4