qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] hw/qxl: another missing unlock


From: Alon Levy
Subject: [Qemu-devel] [PATCH] hw/qxl: another missing unlock
Date: Tue, 25 Jan 2011 16:42:14 +0200

We need to unlock the mutex before waiting on read via
the worker call since the worker will try to lock and hang
otherwise.

Signed-off-by: Alon Levy <address@hidden>
---
 hw/qxl.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/hw/qxl.c b/hw/qxl.c
index 117f7c8..00c31c7 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -791,7 +791,9 @@ static void qxl_add_memslot(PCIQXLDevice *d, uint32_t 
slot_id, uint64_t delta)
            __FUNCTION__, memslot.slot_id,
            memslot.virt_start, memslot.virt_end);
 
+    qxl_unlock_iothread(&d->ssd);
     d->ssd.worker->add_memslot(d->ssd.worker, &memslot);
+    qxl_lock_iothread(&d->ssd);
     d->guest_slots[slot_id].ptr = (void*)memslot.virt_start;
     d->guest_slots[slot_id].size = memslot.virt_end - memslot.virt_start;
     d->guest_slots[slot_id].delta = delta;
-- 
1.7.3.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]