summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Fei <fei.li@intel.com>2013-02-28 08:51:32 +0100
committerLuciano Coelho <coelho@ti.com>2013-03-05 09:27:16 +0100
commit42af657feb3481b1dfc130619b5e0d56abc4e0fc (patch)
tree29c6fc362cb82914b6863d8882106a6c9525e3e4
parentnet: wireless: hostap: hostap_ap.c: Return -ENOMEM instead of -1 for if kmall... (diff)
downloadlinux-42af657feb3481b1dfc130619b5e0d56abc4e0fc.tar.xz
linux-42af657feb3481b1dfc130619b5e0d56abc4e0fc.zip
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>
-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 e57ee48edff6..e2b3d9c541e8 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);