mm/filemap.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index a49702445ce0..75c29a1f90fb 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -991,13 +991,11 @@ static inline int wait_on_page_bit_common(wait_queue_head_t *q, } } - if (lock) { - if (!test_and_set_bit_lock(bit_nr, &page->flags)) - break; - } else { - if (!test_bit(bit_nr, &page->flags)) - break; - } + if (!lock) + break; + + if (!test_and_set_bit_lock(bit_nr, &page->flags)) + break; } finish_wait(q, wait);