On 06.12.2024 05:41, Denis Mukhin via B4 Relay wrote: > --- a/xen/arch/arm/include/asm/vpl011.h > +++ b/xen/arch/arm/include/asm/vpl011.h > @@ -69,7 +69,7 @@ struct vpl011_init_info { > int domain_vpl011_init(struct domain *d, > struct vpl011_init_info *info); > void domain_vpl011_deinit(struct domain *d); > -void vpl011_rx_char_xen(struct domain *d, char c); > +int vpl011_rx_char_xen(struct domain *d, char c);
If you make the function return an error indicator, ... > --- a/xen/drivers/char/console.c > +++ b/xen/drivers/char/console.c > @@ -559,9 +559,7 @@ static void __serial_rx(char c) > * domain, without a full PV ring to Dom0 (in that case input > * comes from the PV ring), then send the character to it. > */ > - if ( d != NULL && > - !d->arch.vpl011.backend_in_domain && > - d->arch.vpl011.backend.xen != NULL ) > + if ( d != NULL ) > vpl011_rx_char_xen(d, c); > else > printk("Cannot send chars to Dom%d: no UART available\n", > ... how come that return value then isn't used anywhere? Jan