PCI: xilinx-xdma: Fix error code in xilinx_pl_dma_pcie_init_irq_domain()
authorHarshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Mon, 30 Oct 2023 07:27:57 +0000 (00:27 -0700)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Mon, 8 Jan 2024 17:44:45 +0000 (17:44 +0000)
Currently, if the function irq_domain_add_linear() fails to allocate
a new IRQ domain and returns NULL, we would then still return a success
from the xilinx_pl_dma_pcie_init_irq_domain() function regardless, as
the PTR_ERR(NULL) would return a value of zero.  This is not a desirable
outcome.

Thus, fix the incorrect error code and return the -ENOMEM error code if
the irq_domain_add_linear() fails to allocate a new IRQ domain.

[kwilczynski: commit log]
Link: https://lore.kernel.org/linux-pci/20231030072757.3236546-1-harshit.m.mogalapalli@oracle.com
Fixes: 8d786149d78c ("PCI: xilinx-xdma: Add Xilinx XDMA Root Port driver")
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
drivers/pci/controller/pcie-xilinx-dma-pl.c

index 9c79754dc8fab78a07b6e64e2570d4a090805c19..5be5dfd8398f2a79e28164a1375e1d0221bdf268 100644 (file)
@@ -576,7 +576,7 @@ static int xilinx_pl_dma_pcie_init_irq_domain(struct pl_dma_pcie *port)
                                                  &intx_domain_ops, port);
        if (!port->intx_domain) {
                dev_err(dev, "Failed to get a INTx IRQ domain\n");
-               return PTR_ERR(port->intx_domain);
+               return -ENOMEM;
        }
 
        irq_domain_update_bus_token(port->intx_domain, DOMAIN_BUS_WIRED);