Commit 5fcaa005 authored by Brian Norris's avatar Brian Norris Committed by Bjorn Helgaas
Browse files

PCI: rockchip: Handle regulator_get_current_limit() failure correctly



regulator_get_current_limit() can return negative error codes.  We saved
the return value in an unsigned "curr", and a subsequent check interpreted
a negative error code as a positive (invalid) current limit.

Save the return code as a signed value, which avoids messages like this,
seen on Samsung Chromebook Plus:

  rockchip-pcie f8000000.pcie: invalid power supply

[bhelgaas: changelog]
Fixes: 4816c4c7 ("PCI: rockchip: Provide captured slot power limit and scale")
Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Acked-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
parent c1ae3cfa
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -425,7 +425,8 @@ static struct pci_ops rockchip_pcie_ops = {

static void rockchip_pcie_set_power_limit(struct rockchip_pcie *rockchip)
{
	u32 status, curr, scale, power;
	int curr;
	u32 status, scale, power;

	if (IS_ERR(rockchip->vpcie3v3))
		return;