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.mando...@gmail.com> --- hw/hyperv/vmbus.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c index 984caf898d..7c966ae399 100644 --- a/hw/hyperv/vmbus.c +++ b/hw/hyperv/vmbus.c @@ -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 { -- 2.25.1