Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PCI: cadence: Fix find_first_zero_bit() limit

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>

authored by

Dan Carpenter and committed by
Lorenzo Pieralisi
0aa3a093 31231092

+1 -2
+1 -2
drivers/pci/controller/cadence/pcie-cadence-ep.c
··· 187 187 struct cdns_pcie *pcie = &ep->pcie; 188 188 u32 r; 189 189 190 - r = find_first_zero_bit(&ep->ob_region_map, 191 - sizeof(ep->ob_region_map) * BITS_PER_LONG); 190 + r = find_first_zero_bit(&ep->ob_region_map, BITS_PER_LONG); 192 191 if (r >= ep->max_regions - 1) { 193 192 dev_err(&epc->dev, "no free outbound region\n"); 194 193 return -EINVAL;