Replace manual qemu_mutex_(un)lock() calls with QEMU_LOCK_GUARD() to remove 'goto out' code
Signed-off-by: Evgeny Kolmakov <[email protected]> --- hw/hyperv/vmbus.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c index c5259d1a76..ab99f082d1 100644 --- a/hw/hyperv/vmbus.c +++ b/hw/hyperv/vmbus.c @@ -1525,14 +1525,12 @@ static VMBusChannel *find_channel(VMBus *vmbus, uint32_t id) static int enqueue_incoming_message(VMBus *vmbus, const struct hyperv_post_message_input *msg) { - 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 -ENOBUFS; } prev_size = vmbus->rx_queue_size; @@ -1544,9 +1542,7 @@ static int enqueue_incoming_message(VMBus *vmbus, if (!prev_size) { vmbus_resched(vmbus); } -out: - qemu_mutex_unlock(&vmbus->rx_queue_lock); - return ret; + return 0; } static uint16_t vmbus_recv_message(const struct hyperv_post_message_input *msg, @@ -2097,10 +2093,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]; @@ -2149,8 +2145,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.43.0
