v4 changelog: 1. split into 5 patches, according to comments (Marcel) 2. fix to other minor comments (Marcel) 3. most devices have msi/msix(except vmxnet3 & pvscsi) property as a switch, if it has and is switched on, then msi_init() failure should results in return directly. So in this version, mptsas is updated
The affected devices: 1. intel hd audio: move msi_init() above, save the strength to free the MemoryRegion when it fails. 2. usb-xhci: move msi_init() above, save the strength to free the MemoryRegion when it fails. 3. ich9 ahci: it is a on-board device created during machine initialization, when it fail, qemu will exit, so, no need to free resource manually. 4. megasas_scsi: move msi_init() above, save the strength to free the MemoryRegion when it fails. 5. mptsas: Move msi_init() above, save the strength to free the MemoryRegion when it fails. 6. pci_bridge_dev/ioh3420/xio3130_downstream/xio3130_upstream: catch error and report it right there. 7. vmxnet3: move msi_init() above. Remove the unecessary vmxnet3_init_msi(). When msi_init() fail, it will use INTx, so msi_init()`s failure should not break the realize. Just free the error object silently. 8. pvscsi: when msi_init fail, it will use INTx. so msi_init failure should not break the realize. Report the error when msi_init fail. 9. vfio-pci: it ignores the config space corruption error, so, catch & report it right there. Cao jin (5): fix some coding style problems change pvscsi_init_msi() type to void megasas: bugfix mptsas: change .realize function name Add param Error ** for msi_init() hw/audio/intel-hda.c | 11 +++++++--- hw/ide/ich.c | 2 +- hw/net/vmxnet3.c | 43 +++++++++++++++----------------------- hw/pci-bridge/ioh3420.c | 11 ++++++++-- hw/pci-bridge/pci_bridge_dev.c | 8 ++++++- hw/pci-bridge/xio3130_downstream.c | 10 +++++++-- hw/pci-bridge/xio3130_upstream.c | 7 ++++++- hw/pci/msi.c | 22 +++++++++++++++++-- hw/scsi/megasas.c | 12 +++++++---- hw/scsi/mptsas.c | 19 ++++++++++------- hw/scsi/vmw_pvscsi.c | 10 +++++---- hw/usb/hcd-xhci.c | 10 ++++++--- hw/vfio/pci.c | 6 ++++-- include/hw/pci/msi.h | 3 ++- 14 files changed, 115 insertions(+), 59 deletions(-) -- 2.1.0
