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: 4816c4c7b8 ("PCI: rockchip: Provide captured slot power limit and scale")
Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Shawn Lin <shawn.lin@rock-chips.com>
This commit is contained in:
Brian Norris 2017-03-09 18:46:13 -08:00 committed by Bjorn Helgaas
parent c1ae3cfa0e
commit 5fcaa0051d
1 changed files with 2 additions and 1 deletions

View File

@ -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;