[PATCH] staging: vc04_services: preserve bcm2835_audio_write errors

From: Lucas Jeffrey

Date: Mon Aug 03 2026 - 00:09:46 EST


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