diff options
author | Li Fei <fei.li@intel.com> | 2013-02-28 15:51:32 +0800 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2013-03-05 10:27:16 +0200 |
commit | 42af657feb3481b1dfc130619b5e0d56abc4e0fc (patch) | |
tree | 29c6fc362cb82914b6863d8882106a6c9525e3e4 | |
parent | b53cf458ea20dd7f5e32611366f63728e40c9021 (diff) | |
download | op-kernel-dev-42af657feb3481b1dfc130619b5e0d56abc4e0fc.zip op-kernel-dev-42af657feb3481b1dfc130619b5e0d56abc4e0fc.tar.gz |
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.c | 4 |
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); |