Re: [PATCH] staging: vc04_services: preserve bcm2835_audio_write errors
From: Greg KH
Date: Tue Sep 01 2026 - 06:00:59 EST
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@xxxxxxxxx>
> ---
> 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