Hi Roman On Thu, Oct 10, 2024 at 1:28 PM Roman Penyaev <r.peni...@gmail.com> wrote:
> `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.peni...@gmail.com> > Cc: "Marc-André Lureau" <marcandre.lur...@redhat.com> > Cc: qemu-devel@nongnu.org Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> That would be worth some new tests for chardev removal. It seems to be lacking. And mux probably need extra fixing. I can take a look if you don't. thanks > --- > chardev/char.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/chardev/char.c b/chardev/char.c > index c0cc52824b48..f54dc3a86286 100644 > --- a/chardev/char.c > +++ b/chardev/char.c > @@ -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; > } > -- > 2.34.1 > > > -- Marc-André Lureau