drivers/staging: use current->state helpers

Call __set_current_state() instead of assigning the new state directly.
These interfaces also aid CONFIG_DEBUG_ATOMIC_SLEEP environments,
keeping track of who changed the state.

Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Davidlohr Bueso 2015-01-26 02:15:02 -08:00 коммит произвёл Greg Kroah-Hartman
Родитель 1167ff91da
Коммит 2be90fef97
5 изменённых файлов: 6 добавлений и 6 удалений

Просмотреть файл

@ -174,7 +174,7 @@ struct me_private_data {
static inline void sleep(unsigned sec)
{
current->state = TASK_INTERRUPTIBLE;
__set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout(sec * HZ);
}

Просмотреть файл

@ -12,7 +12,7 @@
*/
int dgnc_ms_sleep(ulong ms)
{
current->state = TASK_INTERRUPTIBLE;
__set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout((ms * HZ) / 1000);
return signal_pending(current);
}

Просмотреть файл

@ -780,7 +780,7 @@ static void long_sleep(int ms)
if (in_interrupt()) {
mdelay(ms);
} else {
current->state = TASK_INTERRUPTIBLE;
__set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout((ms * HZ + 999) / 1000);
}
}

Просмотреть файл

@ -157,7 +157,7 @@ static void __speakup_paste_selection(struct work_struct *work)
pasted += count;
}
remove_wait_queue(&vc->paste_wait, &wait);
current->state = TASK_RUNNING;
__set_current_state(TASK_RUNNING);
tty_buffer_unlock_exclusive(&vc->port);
tty_ldisc_deref(ld);

Просмотреть файл

@ -133,7 +133,7 @@
* x - the number of seconds to sleep.
*/
#define SLEEP(x) \
do { current->state = TASK_INTERRUPTIBLE; \
do { __set_current_state(TASK_INTERRUPTIBLE); \
schedule_timeout((x)*HZ); \
} while (0)
@ -141,7 +141,7 @@
* x - the number of jiffies to sleep.
*/
#define SLEEPJIFFIES(x) \
do { current->state = TASK_INTERRUPTIBLE; \
do { __set_current_state(TASK_INTERRUPTIBLE); \
schedule_timeout(x); \
} while (0)