]> git.proxmox.com Git - mirror_qemu.git/blobdiff - hw/char/escc.c
hw: replace most use of qemu_chr_fe_write with qemu_chr_fe_write_all
[mirror_qemu.git] / hw / char / escc.c
index 31a5f902f99546fa8510baa70506f2741cd0ff3e..aa1739762bb59c494bb4a92d585398630219d048 100644 (file)
@@ -557,7 +557,9 @@ static void escc_mem_write(void *opaque, hwaddr addr,
         s->tx = val;
         if (s->wregs[W_TXCTRL2] & TXCTRL2_TXEN) { // tx enabled
             if (s->chr)
-                qemu_chr_fe_write(s->chr, &s->tx, 1);
+                /* XXX this blocks entire thread. Rewrite to use
+                 * qemu_chr_fe_write and background I/O callbacks */
+                qemu_chr_fe_write_all(s->chr, &s->tx, 1);
             else if (s->type == kbd && !s->disabled) {
                 handle_kbd_command(s, val);
             }