aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorJohn Baboval <john.baboval@virtualcomputer.com>2011-03-22 14:52:09 +0000
committerAlexander Graf <agraf@suse.de>2011-05-08 10:10:01 +0200
commit8c12f1912afed98715d995cb7c72c8203aaced9d (patch)
tree74f0c377a3968a87d38a3df24da571cd246a0164 /hw
parent64b3cfdb73fd08220ef848f71a2d0061e97ed7d8 (diff)
downloadqemu-8c12f1912afed98715d995cb7c72c8203aaced9d.zip
qemu-8c12f1912afed98715d995cb7c72c8203aaced9d.tar.gz
qemu-8c12f1912afed98715d995cb7c72c8203aaced9d.tar.bz2
pci: Use of qemu_put_ram_ptr in pci_add_option_rom.
Prevent a deadlock caused by leaving a map cache bucket locked by the preceding qemu_get_ram_ptr() call. Signed-off-By: John Baboval <john.baboval@virtualcomputer.com> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw')
-rw-r--r--hw/pci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/pci.c b/hw/pci.c
index 0875654..631d77c 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -1922,6 +1922,8 @@ static int pci_add_option_rom(PCIDevice *pdev, bool is_default_rom)
pci_patch_ids(pdev, ptr, size);
}
+ qemu_put_ram_ptr(ptr);
+
pci_register_bar(pdev, PCI_ROM_SLOT, size,
0, pci_map_option_rom);