mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 01:23:56 +02:00
PCI: brcmstb: Fix error path after a call to regulator_bulk_get()
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>
This commit is contained in:
parent
b5e441793e
commit
3651ad5249
|
|
@ -1416,7 +1416,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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user