diff --git a/[refs] b/[refs] index e2a8df5e07dd..ed78740f04c5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 241937b863c8a3ef10511712f53285f41ab05308 +refs/heads/master: 5aecd559871d23a3cc297e544c9d63f0b8441cf4 diff --git a/trunk/mm/pdflush.c b/trunk/mm/pdflush.c index 1c96cfc9e040..9d834aa4b979 100644 --- a/trunk/mm/pdflush.c +++ b/trunk/mm/pdflush.c @@ -207,7 +207,6 @@ int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0) spin_lock_irqsave(&pdflush_lock, flags); if (list_empty(&pdflush_list)) { - spin_unlock_irqrestore(&pdflush_lock, flags); ret = -1; } else { struct pdflush_work *pdf; @@ -219,8 +218,9 @@ int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0) pdf->fn = fn; pdf->arg0 = arg0; wake_up_process(pdf->who); - spin_unlock_irqrestore(&pdflush_lock, flags); } + spin_unlock_irqrestore(&pdflush_lock, flags); + return ret; }