wl1251: call pm_runtime_put_sync in pm_runtime_get_sync failed case
authorLi Fei <fei.li@intel.com>
Thu, 28 Feb 2013 07:51:32 +0000 (15:51 +0800)
committerLuciano Coelho <coelho@ti.com>
Tue, 5 Mar 2013 08:27:16 +0000 (10:27 +0200)
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>
drivers/net/wireless/ti/wl1251/sdio.c

index e57ee48..e2b3d9c 100644 (file)
@@ -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);