Commit 0d583647 authored by Richard Henderson's avatar Richard Henderson Committed by Michael S. Tsirkin
Browse files

virtio: Notice when the system doesn't support MSIx at all



And do not issue an error_report in that case.

Signed-off-by: default avatarRichard Henderson <rth@twiddle.net>
Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 79859507
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -1491,13 +1491,18 @@ static void virtio_pci_device_plugged(DeviceState *d, Error **errp)
        pci_set_long(cfg_mask->pci_cfg_data, ~0x0);
    }

    if (proxy->nvectors &&
        msix_init_exclusive_bar(&proxy->pci_dev, proxy->nvectors,
                                proxy->msix_bar)) {
    if (proxy->nvectors) {
        int err = msix_init_exclusive_bar(&proxy->pci_dev, proxy->nvectors,
                                          proxy->msix_bar);
        if (err) {
            /* Notice when a system that supports MSIx can't initialize it.  */
            if (err != -ENOTSUP) {
                error_report("unable to init msix vectors to %" PRIu32,
                             proxy->nvectors);
            }
            proxy->nvectors = 0;
        }
    }

    proxy->pci_dev.config_write = virtio_write_config;
    proxy->pci_dev.config_read = virtio_read_config;