instance = service->instance;
 
-       unlock_service(service);
+       vchiq_service_put(service);
 
        mutex_lock(&instance->bulk_waiter_list_mutex);
        list_for_each_entry(waiter, &instance->bulk_waiter_list, list) {
                 * Take an extra reference, to be held until
                 * this CLOSED notification is delivered.
                 */
-               lock_service(user_service->service);
+               vchiq_service_get(user_service->service);
                if (instance->use_close_delivered)
                        user_service->close_pending = 1;
        }
 
        if (user_service->close_pending) {
                /* Allow the underlying service to be culled */
-               unlock_service(user_service->service);
+               vchiq_service_put(user_service->service);
 
                /* Wake the user-thread blocked in close_ or remove_service */
                complete(&user_service->close_event);
        }
        DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
 out:
-       unlock_service(service);
+       vchiq_service_put(service);
        return ret;
 }
 
                ret = put_user(mode_waiting, mode);
        }
 out:
-       unlock_service(service);
+       vchiq_service_put(service);
        if (ret)
                return ret;
        else if (status == VCHIQ_ERROR)
 
                if ((completion->reason == VCHIQ_SERVICE_CLOSED) &&
                    !instance->use_close_delivered)
-                       unlock_service(service);
+                       vchiq_service_put(service);
 
                /*
                 * FIXME: address space mismatch, does bulk_userdata
                while ((service = next_service_by_instance(instance->state,
                        instance, &i))) {
                        status = vchiq_remove_service(service->handle);
-                       unlock_service(service);
+                       vchiq_service_put(service);
                        if (status != VCHIQ_SUCCESS)
                                break;
                }
        }
 
        if (service)
-               unlock_service(service);
+               vchiq_service_put(service);
 
        if (ret == 0) {
                if (status == VCHIQ_ERROR)
 
                if (copy_from_user(&element32, args.elements,
                                   sizeof(element32))) {
-                       unlock_service(service);
+                       vchiq_service_put(service);
                        return -EFAULT;
                }
 
        } else {
                ret = -EINVAL;
        }
-       unlock_service(service);
+       vchiq_service_put(service);
 
        return ret;
 }
                complete(&user_service->remove_event);
 
                vchiq_terminate_service_internal(service);
-               unlock_service(service);
+               vchiq_service_put(service);
        }
 
        /* ...and wait for them to die */
                wait_for_completion(&service->remove_event);
 
                if (WARN_ON(service->srvstate != VCHIQ_SRVSTATE_FREE)) {
-                       unlock_service(service);
+                       vchiq_service_put(service);
                        break;
                }
 
 
                spin_unlock(&msg_queue_spinlock);
 
-               unlock_service(service);
+               vchiq_service_put(service);
        }
 
        /* Release any closed services */
                        /* Wake any blocked user-thread */
                        if (instance->use_close_delivered)
                                complete(&user_service->close_event);
-                       unlock_service(service);
+                       vchiq_service_put(service);
                }
                instance->completion_remove++;
        }
        if (service) {
                ret = vchiq_use_internal(service->state, service,
                                USE_TYPE_SERVICE);
-               unlock_service(service);
+               vchiq_service_put(service);
        }
        return ret;
 }
 
        if (service) {
                ret = vchiq_release_internal(service->state, service);
-               unlock_service(service);
+               vchiq_service_put(service);
        }
        return ret;
 }
 
 }
 
 void
-lock_service(struct vchiq_service *service)
+vchiq_service_get(struct vchiq_service *service)
 {
        if (!service) {
                WARN(1, "%s service is NULL\n", __func__);
 }
 
 void
-unlock_service(struct vchiq_service *service)
+vchiq_service_put(struct vchiq_service *service)
 {
        if (!service) {
                WARN(1, "%s: service is NULL\n", __func__);
                        notify_bulks(service, &service->bulk_tx, RETRY_POLL);
                if (service_flags & BIT(VCHIQ_POLL_RXNOTIFY))
                        notify_bulks(service, &service->bulk_rx, RETRY_POLL);
-               unlock_service(service);
+               vchiq_service_put(service);
        }
 }
 
                                        service->version, service->version_min,
                                        version, version_min);
                                vchiq_loud_error_footer();
-                               unlock_service(service);
+                               vchiq_service_put(service);
                                service = NULL;
                                goto fail_open;
                        }
                        }
 
                        /* Success - the message has been dealt with */
-                       unlock_service(service);
+                       vchiq_service_put(service);
                        return 1;
                }
        }
 
 bail_not_ready:
        if (service)
-               unlock_service(service);
+               vchiq_service_put(service);
 
        return 0;
 }
                         * the connected service
                         */
                        if (service)
-                               unlock_service(service);
+                               vchiq_service_put(service);
                        service = get_connected_service(state,
                                remoteport);
                        if (service)
 
 bail_not_ready:
        if (service)
-               unlock_service(service);
+               vchiq_service_put(service);
 
        return ret;
 }
                        break;
                }
 
-               unlock_service(service);
+               vchiq_service_put(service);
        }
 
        return 0;
        complete(&service->remove_event);
 
        /* Release the initial lock */
-       unlock_service(service);
+       vchiq_service_put(service);
 }
 
 enum vchiq_status
                if (service->srvstate == VCHIQ_SRVSTATE_HIDDEN)
                        vchiq_set_service_state(service,
                                VCHIQ_SRVSTATE_LISTENING);
-               unlock_service(service);
+               vchiq_service_put(service);
        }
 
        if (state->conn_state == VCHIQ_CONNSTATE_DISCONNECTED) {
        while ((service = next_service_by_instance(state, instance,
                &i)) != NULL) {
                (void)vchiq_remove_service(service->handle);
-               unlock_service(service);
+               vchiq_service_put(service);
        }
 }
 
        if ((service->srvstate == VCHIQ_SRVSTATE_FREE) ||
            (service->srvstate == VCHIQ_SRVSTATE_LISTENING) ||
            (service->srvstate == VCHIQ_SRVSTATE_HIDDEN)) {
-               unlock_service(service);
+               vchiq_service_put(service);
                return VCHIQ_ERROR;
        }
 
            (service->srvstate != VCHIQ_SRVSTATE_LISTENING))
                status = VCHIQ_ERROR;
 
-       unlock_service(service);
+       vchiq_service_put(service);
 
        return status;
 }
                service->state->id, service->localport);
 
        if (service->srvstate == VCHIQ_SRVSTATE_FREE) {
-               unlock_service(service);
+               vchiq_service_put(service);
                return VCHIQ_ERROR;
        }
 
            (service->srvstate != VCHIQ_SRVSTATE_FREE))
                status = VCHIQ_ERROR;
 
-       unlock_service(service);
+       vchiq_service_put(service);
 
        return status;
 }
                queue->local_insert, queue->remote_insert, queue->process);
 
 waiting:
-       unlock_service(service);
+       vchiq_service_put(service);
 
        status = VCHIQ_SUCCESS;
 
 
 error_exit:
        if (service)
-               unlock_service(service);
+               vchiq_service_put(service);
        return status;
 }
 
 
 error_exit:
        if (service)
-               unlock_service(service);
+               vchiq_service_put(service);
 
        return status;
 }
                release_message_sync(state, header);
        }
 
-       unlock_service(service);
+       vchiq_service_put(service);
 }
 EXPORT_SYMBOL(vchiq_release_message);
 
 
 exit:
        if (service)
-               unlock_service(service);
+               vchiq_service_put(service);
        return status;
 }
 EXPORT_SYMBOL(vchiq_get_peer_version);
        default:
                break;
        }
-       unlock_service(service);
+       vchiq_service_put(service);
 
        return ret;
 }
 
                if (service) {
                        err = vchiq_dump_service_state(dump_context, service);
-                       unlock_service(service);
+                       vchiq_service_put(service);
                        if (err)
                                return err;
                }