X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=mm%2Fpdflush.c;h=9d834aa4b9795264d87eef283c2492a99d67597b;hb=3bd0a70ee9cc30ae81b39cb5ecad0fa7bcb4675b;hp=1c96cfc9e0400cf0e6b3c4cf41cdccc03bff17c0;hpb=d02aacff4467806ee56f147ac8eff6911d95811a;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; }