goto out;
        }
 
-       ret = pm_runtime_get_sync(wl->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(wl->dev);
+       ret = pm_runtime_resume_and_get(wl->dev);
+       if (ret < 0)
                goto out;
-       }
 
        ret = wlcore_smart_config_start(wl,
                        nla_get_u32(tb[WLCORE_VENDOR_ATTR_GROUP_ID]));
                goto out;
        }
 
-       ret = pm_runtime_get_sync(wl->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(wl->dev);
+       ret = pm_runtime_resume_and_get(wl->dev);
+       if (ret < 0)
                goto out;
-       }
 
        ret = wlcore_smart_config_stop(wl);
 
                goto out;
        }
 
-       ret = pm_runtime_get_sync(wl->dev);
-       if (ret < 0) {
-               pm_runtime_put_noidle(wl->dev);
+       ret = pm_runtime_resume_and_get(wl->dev);
+       if (ret < 0)
                goto out;
-       }
 
        ret = wlcore_smart_config_set_group_key(wl,
                        nla_get_u32(tb[WLCORE_VENDOR_ATTR_GROUP_ID]),