c04ec4ee00c5a51d95b2708480e23d27feb4ee7b Issues on kernel/sched/wait.c file . kernel/sched/wait.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/sched/wait.c b/kernel/sched/wait.c index f15d6b6..ac5eab1 100644 --- a/kernel/sched/wait.c +++ b/kernel/sched/wait.c @@ -369,8 +369,8 @@ int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *arg) struct wait_bit_queue *wait_bit = container_of(wait, struct wait_bit_queue, wait); - if (wait_bit->key.flags != key->flags || - wait_bit->key.bit_nr != key->bit_nr || + if ((wait_bit->key.flags != key->flags) || + (wait_bit->key.bit_nr != key->bit_nr) || test_bit(key->bit_nr, key->flags)) return 0; else @@ -515,9 +515,9 @@ static int wake_atomic_t_function(wait_queue_t *wait, unsigned mode, int sync, = container_of(wait, struct wait_bit_queue, wait); atomic_t *val = key->flags; - if (wait_bit->key.flags != key->flags || - wait_bit->key.bit_nr != key->bit_nr || - atomic_read(val) != 0) + if ((wait_bit->key.flags != key->flags) || + (wait_bit->key.bit_nr != key->bit_nr) || + (atomic_read(val) != 0)) return 0; return autoremove_wake_function(wait, mode, sync, key); } @@ -540,7 +540,7 @@ int __wait_on_atomic_t(wait_queue_head_t *wq, struct wait_bit_queue *q, if (atomic_read(val) == 0) break; ret = (*action)(val); - } while (!ret && atomic_read(val) != 0); + } while (!ret && (atomic_read(val) != 0)); finish_wait(wq, &q->wait); return ret; } -- 2.7.4