[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_q
From: |
SeokYeon Hwang |
Subject: |
[Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev |
Date: |
Wed, 05 Nov 2014 19:11:51 +0900 |
pci_qdev_init() checks whether return value is 0 or not to figure out pci
device is initialized successfully. Otherwise, device_realize() in qdev checks
that return value is negative value to figure out the device is realized
successfully.
When pci device returns positive number, pci_qdev_init() thinks that error is
occured and makes the device unregistered. Nevertheless, qdev thinks that
device is realized.
Finally, crash is occured by commands like 'qtree' that traverse qdev list.
So, pci_qdev_init() returns -1 when init function returns not 0.
Signed-off-by: SeokYeon Hwang <address@hidden>
---
hw/pci/pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 371699c..c149fdf 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -1766,7 +1766,7 @@ static int pci_qdev_init(DeviceState *qdev)
rc = pc->init(pci_dev);
if (rc != 0) {
do_pci_unregister_device(pci_dev);
- return rc;
+ return -1;
}
}
--
2.1.0
- [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev,
SeokYeon Hwang <=
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Paolo Bonzini, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Michael S. Tsirkin, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Markus Armbruster, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Paolo Bonzini, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Michael S. Tsirkin, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Paolo Bonzini, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, SeokYeon Hwang, 2014/11/05
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Markus Armbruster, 2014/11/06
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, Michael S. Tsirkin, 2014/11/06
- Re: [Qemu-devel] [PATCH] pci: fixed mismatch of error-handling between pci_qdev_init() and qdev, SeokYeon Hwang, 2014/11/06