[PATCH] staging: vc04_services: preserve bcm2835_audio_write errors

Greg KH gregkh at linuxfoundation.org
Tue Sep 1 02:40:35 PDT 2026


On Mon, Aug 03, 2026 at 01:09:28AM -0300, Lucas Jeffrey wrote:
> When sending audio data in multiple packets, a successful later packet
> could overwrite an earlier failure in status. This caused the function
> to report success even if one packet was not queued.
> 
> Stop sending packets after the first failure to preserve the error.
> 
> Signed-off-by: Lucas Jeffrey <luquijeffrey at gmail.com>
> ---
>  drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
> index 3156cb8392f4..5ac23cfa7983 100644
> --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
> +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-vchiq.c
> @@ -365,6 +365,9 @@ int bcm2835_audio_write(struct bcm2835_alsa_stream *alsa_stream,
>  
>  			status = vchiq_queue_kernel_message(vchiq_instance,
>  							    instance->service_handle, src, bytes);
> +			if (status)
> +				break;
> +
>  			src += bytes;
>  			count -= bytes;
>  		}
> -- 
> 2.43.0
> 
> 

Was this tested on the real hardware?

thanks,

greg k-h



More information about the linux-arm-kernel mailing list