hw/hyperv/vmbus: Use QEMU_LOCK_GUARD()
Replace manual qemu_mutex_(un)lock() calls with QEMU_LOCK_GUARD() to remove 'goto out' code Signed-off-by: Evgeny Kolmakov <randomjack94dev@gmail.com> Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Evgeny Kolmakov committed
Jul 9, 2026 at 23:27 UTC
d915f9d607880e1b05293f098a8988be7a496abc
1 file changed
+5
-11
hw/hyperv/vmbus.c
+5
-11
@@ -1525,14 +1525,12 @@ static VMBusChannel *find_channel(VMBus *vmbus, uint32_t id)
1525
static int enqueue_incoming_message(VMBus *vmbus,
1526
const struct hyperv_post_message_input *msg)
1527
{
1528
- int ret = 0;
1528
uint8_t idx, prev_size;
1529
1531
- qemu_mutex_lock(&vmbus->rx_queue_lock);
1530
+ QEMU_LOCK_GUARD(&vmbus->rx_queue_lock);
1531
1532
if (vmbus->rx_queue_size == HV_MSG_QUEUE_LEN) {
1534
- ret = -ENOBUFS;
1535
- goto out;
1533
+ return -ENOBUFS;
1534
}
1535
1536
prev_size = vmbus->rx_queue_size;
@@ -1544,9 +1542,7 @@ static int enqueue_incoming_message(VMBus *vmbus,
1542
if (!prev_size) {
1543
vmbus_resched(vmbus);
1544
}
1547
-out:
1548
- qemu_mutex_unlock(&vmbus->rx_queue_lock);
1549
- return ret;
1545
+ return 0;
1546
}
1547
1548
static uint16_t vmbus_recv_message(const struct hyperv_post_message_input *msg,
@@ -2097,10 +2093,10 @@ static void process_message(VMBus *vmbus)
2093
void *msgdata;
2094
uint32_t msglen;
2095
2100
- qemu_mutex_lock(&vmbus->rx_queue_lock);
2096
+ QEMU_LOCK_GUARD(&vmbus->rx_queue_lock);
2097
2098
if (!vmbus->rx_queue_size) {
2103
- goto unlock;
2099
+ return;
2100
}
2101
2102
hv_msg = &vmbus->rx_queue[vmbus->rx_queue_head];
@@ -2149,8 +2145,6 @@ out:
2145
vmbus->rx_queue_head %= HV_MSG_QUEUE_LEN;
2146
2147
vmbus_resched(vmbus);
2152
-unlock:
2153
- qemu_mutex_unlock(&vmbus->rx_queue_lock);
2148
}
2149
2150
static const struct {