drivers/pci/controller/dwc/pcie-designware-ep.c | 1 + 1 file changed, 1 insertion(+)
If the bitmap allocations fail then dw_pcie_ep_init_registers() currently
returns success. Return -ENOMEM instead.
Fixes: 869bc5253406 ("PCI: dwc: ep: Fix DBI access failure for drivers requiring refclk from host")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
drivers/pci/controller/dwc/pcie-designware-ep.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 20f2436c7091..1b873d486b2d 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -908,6 +908,7 @@ int dw_pcie_ep_init_registers(struct dw_pcie_ep *ep)
if (ret)
return ret;
+ ret = -ENOMEM;
if (!ep->ib_window_map) {
ep->ib_window_map = devm_bitmap_zalloc(dev, pci->num_ib_windows,
GFP_KERNEL);
--
2.47.2
On Wed, Mar 05, 2025 at 06:00:07PM +0300, Dan Carpenter wrote:
> If the bitmap allocations fail then dw_pcie_ep_init_registers() currently
> returns success. Return -ENOMEM instead.
>
> Fixes: 869bc5253406 ("PCI: dwc: ep: Fix DBI access failure for drivers requiring refclk from host")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> drivers/pci/controller/dwc/pcie-designware-ep.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
> index 20f2436c7091..1b873d486b2d 100644
> --- a/drivers/pci/controller/dwc/pcie-designware-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
> @@ -908,6 +908,7 @@ int dw_pcie_ep_init_registers(struct dw_pcie_ep *ep)
> if (ret)
> return ret;
>
> + ret = -ENOMEM;
> if (!ep->ib_window_map) {
> ep->ib_window_map = devm_bitmap_zalloc(dev, pci->num_ib_windows,
> GFP_KERNEL);
> --
> 2.47.2
>
--
மணிவண்ணன் சதாசிவம்
Hello, > If the bitmap allocations fail then dw_pcie_ep_init_registers() currently > returns success. Return -ENOMEM instead. Applied to controller/dwc, thank you! Krzysztof
Hello,
> If the bitmap allocations fail then dw_pcie_ep_init_registers() currently
> returns success. Return -ENOMEM instead.
[...]
> --- a/drivers/pci/controller/dwc/pcie-designware-ep.c
> +++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
> @@ -908,6 +908,7 @@ int dw_pcie_ep_init_registers(struct dw_pcie_ep *ep)
> if (ret)
> return ret;
>
> + ret = -ENOMEM;
> if (!ep->ib_window_map) {
> ep->ib_window_map = devm_bitmap_zalloc(dev, pci->num_ib_windows,
> GFP_KERNEL);
Nice catch!
This will cover subsequent calls to devm_bitmap_zalloc() and devm_kcalloc().
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Thank you!
Krzysztof
© 2016 - 2026 Red Hat, Inc.