[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.4] i.MX: Fix UART driver to work with unitiali
From: |
Jean-Christophe Dubois |
Subject: |
[Qemu-devel] [PATCH for-2.4] i.MX: Fix UART driver to work with unitialized "chardev" device |
Date: |
Thu, 9 Jul 2015 11:29:52 +0200 |
The "chardev" property initialisation might failed (for example because
there is not enough chardev handled by Qemu).
The serial device emulator need to be able to "work" with an uninitialized
(NULL) "chardev" device pointer.
This patch add some test on the "chardev" pointer value before using it.
Signed-off-by: Jean-Christophe Dubois <address@hidden>
---
hw/char/imx_serial.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/char/imx_serial.c b/hw/char/imx_serial.c
index f3fbc77..383e50c 100644
--- a/hw/char/imx_serial.c
+++ b/hw/char/imx_serial.c
@@ -203,7 +203,9 @@ static uint64_t imx_serial_read(void *opaque, hwaddr offset,
s->usr2 &= ~USR2_RDR;
s->uts1 |= UTS1_RXEMPTY;
imx_update(s);
- qemu_chr_accept_input(s->chr);
+ if (s->chr) {
+ qemu_chr_accept_input(s->chr);
+ }
}
return c;
@@ -290,7 +292,9 @@ static void imx_serial_write(void *opaque, hwaddr offset,
}
if (value & UCR2_RXEN) {
if (!(s->ucr2 & UCR2_RXEN)) {
- qemu_chr_accept_input(s->chr);
+ if (s->chr) {
+ qemu_chr_accept_input(s->chr);
+ }
}
}
s->ucr2 = value & 0xffff;
--
2.1.4
- [Qemu-devel] [PATCH for-2.4] i.MX: Fix UART driver to work with unitialized "chardev" device,
Jean-Christophe Dubois <=