staging: android: logger: reorder prepare_to_wait and mutex_lock
authorTim Bird <tim.bird@am.sony.com>
Wed, 8 Feb 2012 02:30:09 +0000 (18:30 -0800)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 22 Apr 2021 08:31:57 +0000 (10:31 +0200)
If mutex_lock waits, it will return in state TASK_RUNNING,
rubbing out the effect of prepare_to_wait().

Signed-off-by: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/logger.c

index 1e9e638..6dd6f04 100644 (file)
@@ -172,9 +172,10 @@ static ssize_t logger_read(struct file *file, char __user *buf,
 
 start:
        while (1) {
+               mutex_lock(&log->mutex);
+
                prepare_to_wait(&log->wq, &wait, TASK_INTERRUPTIBLE);
 
-               mutex_lock(&log->mutex);
                ret = (log->w_off == reader->r_off);
                mutex_unlock(&log->mutex);
                if (!ret)