list_for_each_entry_safe(kppg, tmp, &sched->ppgs, list) {
mutex_lock(&kppg->mutex);
- /* kppg has already power down */
- if (kppg->state == PPG_STATE_STOPPED) {
+ /*
+ * Only for SUSPENDED kppgs, STOPPED kppgs has already
+ * power down and new kppgs might come now.
+ */
+ if (kppg->state != PPG_STATE_SUSPENDED) {
mutex_unlock(&kppg->mutex);
continue;
}
list_for_each_entry_safe(kppg, tmp, &sched->ppgs, list) {
mutex_lock(&kppg->mutex);
- /* kppg is not started and power up */
- if (kppg->state == PPG_STATE_START ||
- kppg->state == PPG_STATE_STARTING) {
+ /* Only for SUSPENDED kppgs */
+ if (kppg->state != PPG_STATE_SUSPENDED) {
mutex_unlock(&kppg->mutex);
continue;
}