On Sun, 04 Oct 2026 19:23:50 +0900,
Marc-André Lureau wrote:
> 
> The FCR write handler cleared bit 1 of the status register (sr) instead
> of the SH_SERIAL_FLAG_RDF flag in the flags field. This meant the
> "receive data full" condition was never actually cleared when the guest
> reset the FIFO.
> 
> Reported-by: Pavee Hui <[email protected]>
> Fixes: 63242a007a18 ("SH4: Serial controller improvement")
> Signed-off-by: Marc-André Lureau <[email protected]>
> ---
>  hw/char/sh_serial.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c
> index 10f96e3a44bc..30a22ea2d1c0 100644
> --- a/hw/char/sh_serial.c
> +++ b/hw/char/sh_serial.c
> @@ -175,7 +175,7 @@ static void sh_serial_write(void *opaque, hwaddr offs,
>              }
>              if (val & (1 << 1)) {
>                  sh_serial_clear_fifo(s);
> -                s->sr &= ~(1 << 1);
> +                s->flags &= ~SH_SERIAL_FLAG_RDF;
>              }
>  
>              return;
> 
> -- 
> 2.56.0.rc0.29.g47ce80527c56
> 

Reviewed-by: Yoshinori Sato <[email protected]>

-- 
Yosinori Sato

Reply via email to