From: Umang Jain Date: Wed, 18 Sep 2024 16:31:00 +0000 (+0530) Subject: staging: vchiq_core: Drop retry loop on -EINTR X-Git-Tag: v6.13-rc1~30^2~153 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f813dac50f32d1457da72790ceb4778fe259d687;p=thirdparty%2Fkernel%2Flinux.git staging: vchiq_core: Drop retry loop on -EINTR -EINTR is returned by vchiq_queue_message() on receiving a fatal signal to the process. Since the process is deemed to be terminated anyway, do not retry queuing with vchiq_queue_message() on -EINTR. Signed-off-by: Umang Jain Link: https://lore.kernel.org/r/20240918163100.870596-7-umang.jain@ideasonboard.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c index 426e729b71ee8..7ad43a3d1bab9 100644 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -3269,24 +3269,9 @@ error_exit: int vchiq_queue_kernel_message(struct vchiq_instance *instance, unsigned int handle, void *data, unsigned int size) { - int status; - - while (1) { - status = vchiq_queue_message(instance, handle, memcpy_copy_callback, - data, size); - - /* - * vchiq_queue_message() may return -EINTR, so we need to - * implement a retry mechanism since this function is supposed - * to block until queued - */ - if (status != -EINTR) - break; - msleep(1); - } - - return status; + return vchiq_queue_message(instance, handle, memcpy_copy_callback, + data, size); } EXPORT_SYMBOL(vchiq_queue_kernel_message);