]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
PCI: cadence: Fix find_first_zero_bit() limit
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 15 Mar 2022 06:58:29 +0000 (09:58 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:21:13 +0000 (10:21 +0200)
[ Upstream commit 0aa3a0937feeb91a0e4e438c3c063b749b194192 ]

The ep->ob_region_map bitmap is a long and it has BITS_PER_LONG bits.

Link: https://lore.kernel.org/r/20220315065829.GA13572@kili
Fixes: 37dddf14f1ae ("PCI: cadence: Add EndPoint Controller driver for Cadence PCIe controller")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/cadence/pcie-cadence-ep.c

index 1af14474abcf1ad22eda687102685db138f3517f..4c5e6349d78ce7c2e1efc9a40f07e82ad6be5537 100644 (file)
@@ -154,8 +154,7 @@ static int cdns_pcie_ep_map_addr(struct pci_epc *epc, u8 fn, phys_addr_t addr,
        struct cdns_pcie *pcie = &ep->pcie;
        u32 r;
 
-       r = find_first_zero_bit(&ep->ob_region_map,
-                               sizeof(ep->ob_region_map) * BITS_PER_LONG);
+       r = find_first_zero_bit(&ep->ob_region_map, BITS_PER_LONG);
        if (r >= ep->max_regions - 1) {
                dev_err(&epc->dev, "no free outbound region\n");
                return -EINVAL;