mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-06 09:56:25 -04:00
PCI: brcmstb: Fix potential premature regulator disabling
The platform supports enabling and disabling regulators only on
ports below the Root Complex.
Thus, we need to verify this both when adding and removing the bus,
otherwise regulators may be disabled prematurely when a bus further
down the topology is removed.
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>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20250214173944.47506-6-james.quinlan@broadcom.com
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
This commit is contained in:
committed by
Krzysztof Wilczyński
parent
3651ad5249
commit
b7de1b60ec
@@ -1440,7 +1440,7 @@ static void brcm_pcie_remove_bus(struct pci_bus *bus)
|
||||
struct subdev_regulators *sr = pcie->sr;
|
||||
struct device *dev = &bus->dev;
|
||||
|
||||
if (!sr)
|
||||
if (!sr || !bus->parent || !pci_is_root_bus(bus->parent))
|
||||
return;
|
||||
|
||||
if (regulator_bulk_disable(sr->num_supplies, sr->supplies))
|
||||
|
||||
Reference in New Issue
Block a user