summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2014-02-17 14:29:23 +0530
committerMarek Szyprowski <m.szyprowski@samsung.com>2014-05-13 05:29:05 -0700
commita82f87d817aa83568f0a54645e1acccb0a188551 (patch)
treef916d198cd57067d8bc4370a27483be508002224 /drivers
parentd7d98dd394a39592b2927bd32bed1f2b304f65b7 (diff)
downloadlinux-3.10-a82f87d817aa83568f0a54645e1acccb0a188551.tar.gz
linux-3.10-a82f87d817aa83568f0a54645e1acccb0a188551.tar.bz2
linux-3.10-a82f87d817aa83568f0a54645e1acccb0a188551.zip
phy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to caller
The phy-core allows phy_init and phy_power_on to be called multiple times, but before this patch -ENOSUPP from phy_pm_runtime_get_sync would be propagated to the caller for the 2nd and later calls. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> [backport from upstream commit 767a1b5d6ec4ac5335dde17100880347ed154ce2] Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Change-Id: If65ef9e8d070b4f3d601e139a28246fab36cb40e
Diffstat (limited to 'drivers')
-rw-r--r--drivers/phy/phy-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
index b3555535a8c..6c738376daf 100644
--- a/drivers/phy/phy-core.c
+++ b/drivers/phy/phy-core.c
@@ -176,6 +176,8 @@ int phy_init(struct phy *phy)
dev_err(&phy->dev, "phy init failed --> %d\n", ret);
goto out;
}
+ } else {
+ ret = 0; /* Override possible ret == -ENOTSUPP */
}
++phy->init_count;
@@ -232,6 +234,8 @@ int phy_power_on(struct phy *phy)
dev_err(&phy->dev, "phy poweron failed --> %d\n", ret);
goto out;
}
+ } else {
+ ret = 0; /* Override possible ret == -ENOTSUPP */
}
++phy->power_count;
mutex_unlock(&phy->mutex);