* Cancel the signal when the transfer completes.
*/
spin_lock(&service->state->bulk_waiter_spinlock);
- bulk->userdata = NULL;
+ bulk->waiter = NULL;
spin_unlock(&service->state->bulk_waiter_spinlock);
}
}
return -ENOMEM;
}
- bulk_params->userdata = &waiter->bulk_waiter;
+ bulk_params->waiter = &waiter->bulk_waiter;
ret = vchiq_bulk_xfer_blocking(instance, handle, bulk_params);
if ((ret != -EAGAIN) || fatal_signal_pending(current) || !waiter->bulk_waiter.bulk) {
if (bulk) {
/* Cancel the signal when the transfer completes. */
spin_lock(&service->state->bulk_waiter_spinlock);
- bulk->userdata = NULL;
+ bulk->waiter = NULL;
spin_unlock(&service->state->bulk_waiter_spinlock);
}
kfree(waiter);
struct bulk_waiter *waiter;
spin_lock(&service->state->bulk_waiter_spinlock);
- waiter = bulk->userdata;
+ waiter = bulk->waiter;
if (waiter) {
waiter->actual = bulk->actual;
complete(&waiter->event);
int payload[2];
if (bulk_params->mode == VCHIQ_BULK_MODE_BLOCKING) {
- bulk_waiter = bulk_params->userdata;
+ bulk_waiter = bulk_params->waiter;
init_completion(&bulk_waiter->event);
bulk_waiter->actual = 0;
bulk_waiter->bulk = NULL;
/* Initiliaze the 'bulk' slot with bulk parameters passed in. */
bulk->mode = bulk_params->mode;
bulk->dir = bulk_params->dir;
+ bulk->waiter = bulk_params->waiter;
bulk->userdata = bulk_params->userdata;
bulk->size = bulk_params->size;
bulk->offset = bulk_params->offset;
*/
int
vchiq_bulk_xfer_waiting(struct vchiq_instance *instance,
- unsigned int handle, struct bulk_waiter *userdata)
+ unsigned int handle, struct bulk_waiter *waiter)
{
struct vchiq_service *service = find_service_by_handle(instance, handle);
struct bulk_waiter *bulk_waiter;
if (!service)
return -EINVAL;
- if (!userdata)
+ if (!waiter)
goto error_exit;
if (service->srvstate != VCHIQ_SRVSTATE_OPEN)
if (vchiq_check_service(service))
goto error_exit;
- bulk_waiter = userdata;
+ bulk_waiter = waiter;
vchiq_service_put(service);
bulk_params.mode = args->mode;
bulk_params.size = args->size;
bulk_params.dir = dir;
- bulk_params.userdata = &waiter->bulk_waiter;
+ bulk_params.waiter = &waiter->bulk_waiter;
status = vchiq_bulk_xfer_blocking(instance, args->handle,
&bulk_params);
if (waiter->bulk_waiter.bulk) {
/* Cancel the signal when the transfer completes. */
spin_lock(&service->state->bulk_waiter_spinlock);
- waiter->bulk_waiter.bulk->userdata = NULL;
+ waiter->bulk_waiter.bulk->waiter = NULL;
spin_unlock(&service->state->bulk_waiter_spinlock);
}
kfree(waiter);