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

Reply via email to