]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:45:25 +0000 (15:45 -0800)
[ Upstream commit 2324be17b5e05ac682e7c81fcbfc7b36a9b1becb ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/pcie-xilinx-dma-pl.c

index 96aedc85802a62a5472a610affec2490734ff711..3d7f280edade05d0ccaccc0f3c1a430068e693cc 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);