From gregkh at linuxfoundation.org Tue Sep 1 02:40:35 2026 From: gregkh at linuxfoundation.org (Greg KH) Date: Tue, 1 Sep 2026 11:40:35 +0200 Subject: [PATCH] staging: vc04_services: preserve bcm2835_audio_write errors In-Reply-To: <20260803040928.12453-1-luquijeffrey@gmail.com> References: <20260803040928.12453-1-luquijeffrey@gmail.com> Message-ID: <2026090127-unafraid-vantage-966f@gregkh> 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 > --- > 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