qdev: release parent properties on dc->init failure
While looking into hot-plugging bridges, I can create a qemu segfault via:
$ device_add pci-bridge
Bridge chassis not specified. Each bridge is required to be assigned a unique chassis id > 0. **ERROR:qom/object.c:389:object_delete: assertion failed: (obj->ref == 0)...
msi: Use msi/msix_present more consistently
Replace some open-coded msi/msix_present checks.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
msi: Invoke msi/msix_reset from PCI core
There is no point in pushing this burden to the devices, they tend toforget to call them (like intel-hda, ahci, xhci did). Instead, resetfunctions are now called from pci_device_reset. They do nothing ifMSI/MSI-X is not in use....
msi: Guard msi/msix_write_config with msi_present
Terminate msi/msix_write_config early if support is not enabled. Thisallows to remove checks at the caller site if MSI is optional.
msi: Invoke msi/msix_write_config from PCI core
Also this functions is better invoked by the core than by each and everydevice. This allows to drop the config_write callbacks from ich andintel-hda.
CC: Alexander Graf <agraf@suse.de>CC: Gerd Hoffmann <kraxel@redhat.com>...
ahci: Fix reset of MSI function
Call msi_reset on device reset as still required by the core.
CC: Alexander Graf <agraf@suse.de>CC: qemu-stable@nongnu.orgSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
intel-hda: Fix reset of MSI function
CC: Gerd Hoffmann <kraxel@redhat.com>CC: qemu-stable@nongnu.orgSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
ahci: Clean up reset functions
Properly register reset functions via the device class.
CC: Alexander Graf <agraf@suse.de>Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
msi: Guard msi_reset with msi_present
rtl8139: honor RxOverflow flag in can_receive method
Some drivers (Linux' 8139too among them) rely on the NICinjecting an interrupt in the event of a receive buffer overflowand, accordingly, set the RxOverflow bit in the interruptmask. Unfortunately rtl8139's can_receive method ignores the...
View revisions
Also available in: Atom