summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLi Fei <fei.li@intel.com>2013-02-28 07:51:32 (GMT)
committerLuciano Coelho <coelho@ti.com>2013-03-05 08:27:16 (GMT)
commit42af657feb3481b1dfc130619b5e0d56abc4e0fc (patch)
tree29c6fc362cb82914b6863d8882106a6c9525e3e4 /drivers
parentb53cf458ea20dd7f5e32611366f63728e40c9021 (diff)
downloadlinux-42af657feb3481b1dfc130619b5e0d56abc4e0fc.tar.xz
wl1251: call pm_runtime_put_sync in pm_runtime_get_sync failed case
Even in failed case of pm_runtime_get_sync, the usage_count is incremented. In order to keep the usage_count with correct value and runtime power management to behave correctly, call pm_runtime_put(_sync) in such case. Signed-off-by Liu Chuansheng <chuansheng.liu@intel.com> Signed-off-by: Li Fei <fei.li@intel.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ti/wl1251/sdio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wl1251/sdio.c b/drivers/net/wireless/ti/wl1251/sdio.c
index e57ee48..e2b3d9c 100644
--- a/drivers/net/wireless/ti/wl1251/sdio.c
+++ b/drivers/net/wireless/ti/wl1251/sdio.c
@@ -186,8 +186,10 @@ static int wl1251_sdio_set_power(struct wl1251 *wl, bool enable)
wl->set_power(true);
ret = pm_runtime_get_sync(&func->dev);
- if (ret < 0)
+ if (ret < 0) {
+ pm_runtime_put_sync(&func->dev);
goto out;
+ }
sdio_claim_host(func);
sdio_enable_func(func);