[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 16/17] virtio-pci: Omit errp for pci_add_capability
From: |
Akihiko Odaki |
Subject: |
[PATCH v4 16/17] virtio-pci: Omit errp for pci_add_capability |
Date: |
Thu, 27 Oct 2022 15:37:04 +0900 |
Omitting errp for pci_add_capability() causes it to abort if
capabilities overlap. This behavior is appropriate here because all of
the capabilities set in this device are defined in the program and
their overlap should not happen unless there is a programming error.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
hw/virtio/virtio-pci.c | 9 ++-------
include/hw/virtio/virtio-pci.h | 2 +-
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index c37bdc77ea..b393ff01be 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1154,8 +1154,7 @@ static int virtio_pci_add_mem_cap(VirtIOPCIProxy *proxy,
PCIDevice *dev = &proxy->pci_dev;
int offset;
- offset = pci_add_capability(dev, PCI_CAP_ID_VNDR, 0,
- cap->cap_len, &error_abort);
+ offset = pci_add_capability(dev, PCI_CAP_ID_VNDR, 0, cap->cap_len);
assert(cap->cap_len >= sizeof *cap);
memcpy(dev->config + offset + PCI_CAP_FLAGS, &cap->cap_len,
@@ -1864,11 +1863,7 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Error
**errp)
pcie_endpoint_cap_init(pci_dev, 0);
- pos = pci_add_capability(pci_dev, PCI_CAP_ID_PM, 0,
- PCI_PM_SIZEOF, errp);
- if (pos < 0) {
- return;
- }
+ pos = pci_add_capability(pci_dev, PCI_CAP_ID_PM, 0, PCI_PM_SIZEOF);
pci_dev->exp.pm_cap = pos;
diff --git a/include/hw/virtio/virtio-pci.h b/include/hw/virtio/virtio-pci.h
index 2446dcd9ae..9f3736723c 100644
--- a/include/hw/virtio/virtio-pci.h
+++ b/include/hw/virtio/virtio-pci.h
@@ -141,7 +141,7 @@ struct VirtIOPCIProxy {
uint32_t msix_bar_idx;
uint32_t modern_io_bar_idx;
uint32_t modern_mem_bar_idx;
- int config_cap;
+ uint8_t config_cap;
uint32_t flags;
bool disable_modern;
bool ignore_backend_features;
--
2.37.3
- [PATCH v4 11/17] pci/shpc: Omit errp for pci_add_capability, (continued)
- [PATCH v4 11/17] pci/shpc: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 06/17] eepro100: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 04/17] ahci: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 10/17] pcie: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 13/17] pci/slotid: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 12/17] msix: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 15/17] hw/vfio/pci: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 09/17] hw/pci/pci_bridge: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 08/17] msi: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 14/17] hw/pci-bridge/pcie_pci_bridge: Omit errp for pci_add_capability, Akihiko Odaki, 2022/10/27
- [PATCH v4 16/17] virtio-pci: Omit errp for pci_add_capability,
Akihiko Odaki <=
- [PATCH v4 17/17] pci: Remove legacy errp from pci_add_capability, Akihiko Odaki, 2022/10/27