]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
chardev/char: fix qemu_chr_is_busy() check
authorRoman Penyaev <r.peniaev@gmail.com>
Mon, 14 Oct 2024 15:24:01 +0000 (17:24 +0200)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 15 Oct 2024 08:26:01 +0000 (12:26 +0400)
`mux_cnt` struct member never goes negative or decrements,
so mux chardev can be !busy only when there are no
frontends attached. This patch fixes the always-true
check.

Fixes: a4afa548fc6d ("char: move front end handlers in CharBackend")
Signed-off-by: Roman Penyaev <r.peniaev@gmail.com>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: qemu-devel@nongnu.org
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-ID: <20241014152408.427700-2-r.peniaev@gmail.com>

chardev/char.c

index c0cc52824b4828879ee08a0b3ef11745956dec0e..f54dc3a862867301be061f95bf3d802ae2631ed1 100644 (file)
@@ -333,7 +333,7 @@ static bool qemu_chr_is_busy(Chardev *s)
 {
     if (CHARDEV_IS_MUX(s)) {
         MuxChardev *d = MUX_CHARDEV(s);
-        return d->mux_cnt >= 0;
+        return d->mux_cnt > 0;
     } else {
         return s->be != NULL;
     }