staging: vchiq: move vchiq_release_message() into vchiq

For messages with a reason different from VCHIQ_MESSAGE_AVAILABLE the
responsibility for releasing them is kept in vchi, in other words,
services don't need to worry about it. As we're trying to unify vchi and
vchiq, move the release code into vchiq.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/20200527115400.31391-10-nsaenzjulienne@suse.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Nicolas Saenz Julienne 2020-05-27 13:53:14 +02:00 committed by Greg Kroah-Hartman
parent 8d24d19e35
commit 05147c15df
2 changed files with 5 additions and 3 deletions

View File

@ -372,6 +372,10 @@ make_service_callback(struct vchiq_service *service, enum vchiq_reason reason,
service->state->id, service->handle);
status = VCHIQ_SUCCESS;
}
if (reason != VCHIQ_MESSAGE_AVAILABLE)
vchiq_release_message(service->handle, header);
return status;
}

View File

@ -444,7 +444,7 @@ static enum vchiq_status shim_callback(enum vchiq_reason reason,
service->callback(service->callback_param,
VCHI_CALLBACK_MSG_AVAILABLE, NULL);
goto done;
break;
case VCHIQ_BULK_TRANSMIT_DONE:
service->callback(service->callback_param,
@ -483,8 +483,6 @@ static enum vchiq_status shim_callback(enum vchiq_reason reason,
}
release:
vchiq_release_message(service->handle, header);
done:
return VCHIQ_SUCCESS;
}