“1d77040bde2d21dc7db575d4b43c1da24c94cca1”上不存在“drivers/pci/controller/dwc/pci-layerscape.c”
提交 57fcbffa 编写于 作者: D Dan Carpenter 提交者: Zheng Zengkai

PCI: cadence: Fix find_first_zero_bit() limit

stable inclusion
from stable-v5.10.121
commit 266f5cf6928a79a16cb8bc37f7237ea401247d2b
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I5L6CQ

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=266f5cf6928a79a16cb8bc37f7237ea401247d2b

--------------------------------

[ Upstream commit 0aa3a093 ]

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: 37dddf14 ("PCI: cadence: Add EndPoint Controller driver for Cadence PCIe controller")
Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
Acked-by: NXie XiuQi <xiexiuqi@huawei.com>
上级 8663bb70
...@@ -154,8 +154,7 @@ static int cdns_pcie_ep_map_addr(struct pci_epc *epc, u8 fn, phys_addr_t addr, ...@@ -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; struct cdns_pcie *pcie = &ep->pcie;
u32 r; u32 r;
r = find_first_zero_bit(&ep->ob_region_map, r = find_first_zero_bit(&ep->ob_region_map, BITS_PER_LONG);
sizeof(ep->ob_region_map) * BITS_PER_LONG);
if (r >= ep->max_regions - 1) { if (r >= ep->max_regions - 1) {
dev_err(&epc->dev, "no free outbound region\n"); dev_err(&epc->dev, "no free outbound region\n");
return -EINVAL; return -EINVAL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册