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 <umang.jain@ideasonboard.com>
Link: https://lore.kernel.org/r/20240918163100.870596-7-umang.jain@ideasonboard.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Umang Jain 2024-09-18 22:01:00 +05:30 committed by Greg Kroah-Hartman
parent ec5d292db3
commit f813dac50f

View File

@ -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);