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

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
...@@ -425,7 +425,8 @@ static struct pci_ops rockchip_pcie_ops = { ...@@ -425,7 +425,8 @@ static struct pci_ops rockchip_pcie_ops = {
static void rockchip_pcie_set_power_limit(struct rockchip_pcie *rockchip) 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)) if (IS_ERR(rockchip->vpcie3v3))
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment