aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2017-03-16 17:49:37 +0000
committerAndrew Turner <andrew@FreeBSD.org>2017-03-16 17:49:37 +0000
commit86b5c43667db5e74596d6942e6513e2d92e68358 (patch)
tree5d98505024e952fddc091bcf10efcdc4a1c37bfb
parent810ea5b2706c0167f7f742b808cb195b095d5b44 (diff)
Notes
-rw-r--r--sys/arm64/cavium/thunder_pcie_pem_fdt.c40
-rw-r--r--sys/dev/pci/pci_host_generic_fdt.c40
2 files changed, 58 insertions, 22 deletions
diff --git a/sys/arm64/cavium/thunder_pcie_pem_fdt.c b/sys/arm64/cavium/thunder_pcie_pem_fdt.c
index f4e22316c5bb..a605b3c56efd 100644
--- a/sys/arm64/cavium/thunder_pcie_pem_fdt.c
+++ b/sys/arm64/cavium/thunder_pcie_pem_fdt.c
@@ -114,9 +114,12 @@ thunder_pem_fdt_alloc_msi(device_t pci, device_t child, int count, int maxcount,
int *irqs)
{
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_alloc_msi(pci, child, msi_parent, count, maxcount,
irqs));
}
@@ -125,9 +128,12 @@ static int
thunder_pem_fdt_release_msi(device_t pci, device_t child, int count, int *irqs)
{
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_release_msi(pci, child, msi_parent, count, irqs));
}
@@ -135,9 +141,12 @@ static int
thunder_pem_fdt_alloc_msix(device_t pci, device_t child, int *irq)
{
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_alloc_msix(pci, child, msi_parent, irq));
}
@@ -145,9 +154,12 @@ static int
thunder_pem_fdt_release_msix(device_t pci, device_t child, int irq)
{
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_release_msix(pci, child, msi_parent, irq));
}
@@ -156,9 +168,12 @@ thunder_pem_fdt_map_msi(device_t pci, device_t child, int irq, uint64_t *addr,
uint32_t *data)
{
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_map_msi(pci, child, msi_parent, irq, addr, data));
}
@@ -167,6 +182,7 @@ thunder_pem_fdt_get_id(device_t dev, device_t child, enum pci_id_type type,
uintptr_t *id)
{
phandle_t node;
+ int err;
uint32_t rid;
uint16_t pci_rid;
@@ -176,7 +192,9 @@ thunder_pem_fdt_get_id(device_t dev, device_t child, enum pci_id_type type,
node = ofw_bus_get_node(dev);
pci_rid = pci_get_rid(child);
- ofw_bus_msimap(node, pci_rid, NULL, &rid);
+ err = ofw_bus_msimap(node, pci_rid, NULL, &rid);
+ if (err != 0)
+ return (err);
*id = rid;
return (0);
diff --git a/sys/dev/pci/pci_host_generic_fdt.c b/sys/dev/pci/pci_host_generic_fdt.c
index 82002246950c..9babccd8f369 100644
--- a/sys/dev/pci/pci_host_generic_fdt.c
+++ b/sys/dev/pci/pci_host_generic_fdt.c
@@ -461,9 +461,12 @@ generic_pcie_fdt_alloc_msi(device_t pci, device_t child, int count,
{
#if defined(INTRNG)
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_alloc_msi(pci, child, msi_parent, count, maxcount,
irqs));
#else
@@ -476,9 +479,12 @@ generic_pcie_fdt_release_msi(device_t pci, device_t child, int count, int *irqs)
{
#if defined(INTRNG)
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_release_msi(pci, child, msi_parent, count, irqs));
#else
return (ENXIO);
@@ -491,9 +497,12 @@ generic_pcie_fdt_map_msi(device_t pci, device_t child, int irq, uint64_t *addr,
{
#if defined(INTRNG)
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_map_msi(pci, child, msi_parent, irq, addr, data));
#else
return (ENXIO);
@@ -505,9 +514,12 @@ generic_pcie_fdt_alloc_msix(device_t pci, device_t child, int *irq)
{
#if defined(INTRNG)
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_alloc_msix(pci, child, msi_parent, irq));
#else
return (ENXIO);
@@ -519,9 +531,12 @@ generic_pcie_fdt_release_msix(device_t pci, device_t child, int irq)
{
#if defined(INTRNG)
phandle_t msi_parent;
+ int err;
- ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child), &msi_parent,
- NULL);
+ err = ofw_bus_msimap(ofw_bus_get_node(pci), pci_get_rid(child),
+ &msi_parent, NULL);
+ if (err != 0)
+ return (err);
return (intr_release_msix(pci, child, msi_parent, irq));
#else
return (ENXIO);
@@ -533,6 +548,7 @@ generic_pcie_get_id(device_t pci, device_t child, enum pci_id_type type,
uintptr_t *id)
{
phandle_t node;
+ int err;
uint32_t rid;
uint16_t pci_rid;
@@ -542,7 +558,9 @@ generic_pcie_get_id(device_t pci, device_t child, enum pci_id_type type,
node = ofw_bus_get_node(pci);
pci_rid = pci_get_rid(child);
- ofw_bus_msimap(node, pci_rid, NULL, &rid);
+ err = ofw_bus_msimap(node, pci_rid, NULL, &rid);
+ if (err != 0)
+ return (err);
*id = rid;
return (0);