-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 <umang.jain@ideasonboard.com>
---
.../interface/vchiq_arm/vchiq_core.c | 19 ++-----------------
1 file changed, 2 insertions(+), 17 deletions(-)
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 426e729b71ee..7ad43a3d1bab 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 @@ vchiq_queue_message(struct vchiq_instance *instance, unsigned int handle,
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);
--
2.45.2