@@ -1616,11 +1616,11 @@ static int enqueue_incoming_message(VMBus *vmbus,
int ret = 0;
uint8_t idx, prev_size;
- qemu_mutex_lock(&vmbus->rx_queue_lock);
+ QEMU_LOCK_GUARD(&vmbus->rx_queue_lock);
if (vmbus->rx_queue_size == HV_MSG_QUEUE_LEN) {
ret = -ENOBUFS;
- goto out;
+ return ret;
}
prev_size = vmbus->rx_queue_size;
@@ -1632,8 +1632,7 @@ static int enqueue_incoming_message(VMBus *vmbus,
if (!prev_size) {
vmbus_resched(vmbus);
}
-out:
- qemu_mutex_unlock(&vmbus->rx_queue_lock);
+
return ret;
}
@@ -2189,10 +2188,10 @@ static void process_message(VMBus *vmbus)
void *msgdata;
uint32_t msglen;
- qemu_mutex_lock(&vmbus->rx_queue_lock);
+ QEMU_LOCK_GUARD(&vmbus->rx_queue_lock);
if (!vmbus->rx_queue_size) {
- goto unlock;
+ return;
}
hv_msg = &vmbus->rx_queue[vmbus->rx_queue_head];
@@ -2241,8 +2240,6 @@ out:
vmbus->rx_queue_head %= HV_MSG_QUEUE_LEN;
vmbus_resched(vmbus);
-unlock:
- qemu_mutex_unlock(&vmbus->rx_queue_lock);
}
static const struct {
Replaced some calls to qemu_mutex_lock and their respective qemu_mutex_unlock calls with QEMU_LOCK_GUARD macro. This simplifies the code by removing the calls to qemu_mutex_unlock and eliminates goto paths. Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com> --- hw/hyperv/vmbus.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)