* both stay enabled until _suspend().
         */
        if (on) {
-               ret = pm_runtime_get_sync(&data->client->dev);
+               ret = pm_runtime_resume_and_get(&data->client->dev);
        } else {
                pm_runtime_mark_last_busy(&data->client->dev);
                ret = pm_runtime_put_autosuspend(&data->client->dev);
                dev_err(&data->client->dev,
                        "Failed: rpr0521_set_power_state for %d, ret %d\n",
                        on, ret);
-               if (on)
-                       pm_runtime_put_noidle(&data->client->dev);
-
                return ret;
        }
 
 err_pm_disable:
        pm_runtime_disable(&client->dev);
        pm_runtime_set_suspended(&client->dev);
-       pm_runtime_put_noidle(&client->dev);
 err_poweroff:
        rpr0521_poweroff(data);
 
 
        pm_runtime_disable(&client->dev);
        pm_runtime_set_suspended(&client->dev);
-       pm_runtime_put_noidle(&client->dev);
 
        rpr0521_poweroff(iio_priv(indio_dev));