mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
PCI: brcmstb: Fix error path after a call to regulator_bulk_get()
[ Upstream commit 3651ad5249c51cf7eee078e12612557040a6bdb4 ]
If the regulator_bulk_get() returns an error and no regulators
are created, we need to set their number to zero.
If we don't do this and the PCIe link up fails, a call to the
regulator_bulk_free() will result in a kernel panic.
While at it, print the error value, as we cannot return an error
upwards as the kernel will WARN() on an error from add_bus().
Fixes: 9e6be018b2 ("PCI: brcmstb: Enable child bus device regulators from DT")
Signed-off-by: Jim Quinlan <james.quinlan@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20250214173944.47506-5-james.quinlan@broadcom.com
[kwilczynski: commit log, use comma in the message to match style with
other similar messages]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5bb237a1f6
commit
99a0efba9f
@@ -1117,7 +1117,8 @@ static int brcm_pcie_add_bus(struct pci_bus *bus)
|
||||
|
||||
ret = regulator_bulk_get(dev, sr->num_supplies, sr->supplies);
|
||||
if (ret) {
|
||||
dev_info(dev, "No regulators for downstream device\n");
|
||||
dev_info(dev, "Did not get regulators, err=%d\n", ret);
|
||||
pcie->sr = NULL;
|
||||
goto no_regulators;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user