X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mm%2Fpdflush.c;h=9d834aa4b9795264d87eef283c2492a99d67597b;hb=9aef85cc58f54f01bbbafdb3c87af4465f4257c0;hp=1c96cfc9e0400cf0e6b3c4cf41cdccc03bff17c0;hpb=8a3227268877b81096d7b7a841aaf51099ad2068;p=linux-2.6 diff --git a/mm/pdflush.c b/mm/pdflush.c index 1c96cfc9e0..9d834aa4b9 100644 --- a/mm/pdflush.c +++ b/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; }