Browse Source

mm/pdflush.c: merge the same code in two path

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Denis Cheng 17 years ago
parent
commit
5aecd55987
1 changed files with 2 additions and 2 deletions
  1. 2 2
      mm/pdflush.c

+ 2 - 2
mm/pdflush.c

@@ -207,7 +207,6 @@ int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0)
 
 
 	spin_lock_irqsave(&pdflush_lock, flags);
 	spin_lock_irqsave(&pdflush_lock, flags);
 	if (list_empty(&pdflush_list)) {
 	if (list_empty(&pdflush_list)) {
-		spin_unlock_irqrestore(&pdflush_lock, flags);
 		ret = -1;
 		ret = -1;
 	} else {
 	} else {
 		struct pdflush_work *pdf;
 		struct pdflush_work *pdf;
@@ -219,8 +218,9 @@ int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0)
 		pdf->fn = fn;
 		pdf->fn = fn;
 		pdf->arg0 = arg0;
 		pdf->arg0 = arg0;
 		wake_up_process(pdf->who);
 		wake_up_process(pdf->who);
-		spin_unlock_irqrestore(&pdflush_lock, flags);
 	}
 	}
+	spin_unlock_irqrestore(&pdflush_lock, flags);
+
 	return ret;
 	return ret;
 }
 }