X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=kernel%2Fwait.c;h=dec68bd4e9d8e996404faa065b67354f1defa8eb;hb=fbf8d7106c926d375c76e65cc878f4fa7b91cbc3;hp=ce0daa320a261f1aebfc5e16d7d7b3e7caf71c37;hpb=069e1572d78a154a342d7cf396a160823854747f;p=cascardo%2Flinux.git diff --git a/kernel/wait.c b/kernel/wait.c index ce0daa320a26..dec68bd4e9d8 100644 --- a/kernel/wait.c +++ b/kernel/wait.c @@ -333,7 +333,8 @@ int __wait_on_atomic_t(wait_queue_head_t *wq, struct wait_bit_queue *q, prepare_to_wait(wq, &q->wait, mode); val = q->key.flags; if (atomic_read(val) == 0) - ret = (*action)(val); + break; + ret = (*action)(val); } while (!ret && atomic_read(val) != 0); finish_wait(wq, &q->wait); return ret;